Pandas DataFrame选择具有NaN值的特定列

11

我有一个两列的DataFrame,我想选择含有NaN的行。

我使用了这个方法:df[(df['a'] == np.NaN) | (df['b'] == np.NaN)]
但它返回了一个空答案。我不知道问题出在哪里。


这里标题应该改为“行”而不是“列”,对吧? - Zanshin
3个回答

13

你需要使用isnull来查找 NaN 值:

df[ (df['a'].isnull()) | (df['b'].isnull()) ]

文档.


0
你可以对整个数据框应用 isnull(),然后使用 any(1) 检查行是否有任何空值。
df[df.isnull().any(1)]

时间

df = pd.DataFrame(np.random.choice((np.nan, 1), (1000000, 2), p=(.2, .8)), columns=['A', 'B'])

enter image description here

我没想到会得到这样的结果...


0
你也可以使用isna()函数:
df[df['merged_key_words'].isna() | df['key_words'].isna()]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接