檢查缺失值
為了檢查值是否為 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