【原創】數據處理中判斷空值的方法(np.isnan、is np.nan和pd.isna)比較


 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM