检查缺失值
为了检查值是否为 NaN,可以使用 isnull()
或 notnull()
函数。
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: ser = pd.Series([1, 2, np.nan, 4])
In [4]: pd.isnull(ser)
Out[4]:
0 False
1 False
2 True
3 False
dtype: bool
请注意,np.nan == np.nan
返回 False,因此你应该避免与 np.nan 进行比较:
In [5]: ser == np.nan
Out[5]:
0 False
1 False
2 False
3 False
dtype: bool
这两个函数也被定义为 Series 和 DataFrames 上的方法。
In [6]: ser.isnull()
Out[6]:
0 False
1 False
2 True
3 False
dtype: bool
在 DataFrames 上测试:
In [7]: df = pd.DataFrame({'A': [1, np.nan, 3], 'B': [np.nan, 5, 6]})
In [8]: print(df)
Out[8]:
A B
0 1.0 NaN
1 NaN 5.0
2 3.0 6.0
In [9]: df.isnull() # If the value is NaN, returns True.
Out[9]:
A B
0 False True
1 True False
2 False False
In [10]: df.notnull() # Opposite of .isnull(). If the value is not NaN, returns True.
Out[10]:
A B
0 True False
1 False True
2 True True