假设我有一个数据帧:
a b c
0 1 2 NaN
1 2 NaN 4
3 Nan 4 NaN
我想在某些特定列中检查NaN,并希望得到的数据帧为:
a b c
0 1 2 NaN
3 Nan 4 NaN
在这里,我想仅在列'a'和列'c'中检查NaN。 如何做到这一点?
答案 0 :(得分:0)
In [264]: df
Out[264]:
a b c
0 1 2 NaN
1 2 NaN 4
2 NaN 4 NaN
In [265]: df[df.isnull().any(axis=1)]
Out[265]:
a b c
0 1 2 NaN
2 NaN 4 NaN
注意:如果您只想要没有NaN
的明确行,则可以使用dropna
方法
修改强>
如果您想要对数据框进行分组,可以将掩码与列一起使用并将其应用于整个数据框:
df_subset = df[['a', 'c']]
In [282]: df[df_subset.isnull().any(axis=1)]
Out[282]:
a b c
0 1 2 NaN
2 NaN 4 NaN