1、np.isnan(只有數組數值運算時可使用)
注意:numpy模塊的isnan方法僅支持對數值進行判斷,因此傳入的如果是字符串類型會報錯
2、is np.nan(不建議使用)
如果我們的空值只會出現由numpy模塊的nan,或只想判斷由numpy模塊生成的nan值,可以使用,但其他場合一律不建議使用
注意:因為math模塊同樣可以產生nan值,且math.nan由is np.nan判斷是False,例如下面代碼
1 a = math.nan 2 b = np.nan 3 4 a is b 5 Out[19]: False 6 7 np.isnan(a) 8 Out[20]: True 9 np.isnan(b) 10 Out[21]: True 11 12 a is np.nan 13 Out[22]: False 14 b is np.nan 15 Out[23]: True
3、pd.isna(大部分數據處理的場合推薦使用)
如果我們的空值既會出現np.nan,也會出現math.nan,甚至還會出現None,或者要判斷的數據值既可能是數值型也可能是字符串(符合大部分場景的實際情況),牆裂推薦使用pd.isna,例如下面代碼
1 pd.isna(np.nan) 2 Out[29]: True 3 pd.isna(math.nan) 4 Out[30]: True 5 pd.isna(None) 6 Out[31]: True 7 pd.isna('a') 8 Out[32]: False 9 pd.isna(10) 10 Out[33]: False