在pandas中,如何选择包含NaN的行?

时间:2016-09-14 16:02:08

标签: python pandas numpy

假设我在df中有以下数据框:

a     | b     | c
------+-------+-------
5     | 2     | 4
NaN   | 6     | 8
5     | 9     | 0
3     | 7     | 1

如果我df.loc[df['a'] == 5]它将正确返回第一行和第三行,但如果我执行df.loc[df['a'] == np.NaN]则返回任何内容。

我认为这比熊猫更像是蟒蛇。如果我将np.nan与任何内容进行比较,即使np.nan == np.nan也会评估为False,所以问题是,我该如何测试np.nan

1 个答案:

答案 0 :(得分:3)

尝试使用isnull,如下所示:

    import pandas as pd
    import numpy as np

    a=[1,2,3,np.nan,5,6,7]
    df = pd.DataFrame(a)

    df[df[0].isnull()]