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

问题描述 投票:0回答:4

我有一个两列的 DataFrame,我想选择任一列中带有

NaN
的行。

我用的就是这个方法

df[ (df['a'] == np.NaN) | (df['b'] == np.NaN) ]

然而它返回一个空答案。不知道是什么问题

python pandas dataframe nan
4个回答
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'])

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


0
投票

您也可以使用isna()

df[df['merged_key_words'].isna() | df['key_words'].isna()]

0
投票

您还可以使用 isna() 方法和轴 1(即沿列):

df[df.isna().any(axis=1)]
© www.soinside.com 2019 - 2024. All rights reserved.