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

lui*_*fer 3 python numpy pandas

假设我有以下数据框df:

a     | b     | c
------+-------+-------
5     | 2     | 4
NaN   | 6     | 8
5     | 9     | 0
3     | 7     | 1
Run Code Online (Sandbox Code Playgroud)

如果我这样做df.loc[df['a'] == 5],它将正确返回第一行和第三行,但是如果我这样做,df.loc[df['a'] == np.NaN]它什么都不返回。

我认为这更像是蟒蛇而不是熊猫。如果我np.nan与任何东西进行比较,甚至np.nan == np.nan会评估为False,所以问题是,我应该如何测试np.nan?

小智 5

尝试使用 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()]
Run Code Online (Sandbox Code Playgroud)