首页 > 解决方案 > Pandas 数据框过滤多列中的非 na 值

问题描述

我有大约 4 列,除了 ID 列之外,还需要保留至少其中一列具有值的行

第一列是 ID 列,并且永远不会为空

ID A列 B栏 C栏
01 199 222
02 50
03
04 20
05

输出

ID A列 B栏 C栏
01 199 222
02 50
04 20

标签: pythonpandasfilterna

解决方案


下次提供一个可复制的例子。

df = pd.DataFrame({'ID' : [1,2,3,4],
                   'column A':[2,np.nan,2,np.nan],
                   'column B':[3,np.nan,np.nan,2],
                   'column C':[np.nan,np.nan,np.nan,np.nan]})

df = df.dropna(axis=0, how='all', subset=list(df.columns[df.columns != 'ID']))

axis=0: 行

how='all': 完全nan价值观

subset=:指定要在哪一列上应用它


推荐阅读