中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在python3中檢測空值的方法

發布時間:2020-08-10 14:27:17 來源:億速云 閱讀:242 作者:小新 欄目:編程語言

python3檢測空值的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

pandas 空值定義為numpy.nan

1、對整體的series或Dataframe判斷是否未空,用isnull()
eg: 
pd.isnull(df1) #df1是dataframe變量
2、math.isnan() 可以判斷np.float64類型的空
3、pd.isna() 直接判斷一列
4、對單獨的某個值判斷,可以用 np.isnan() 
eg: np.isnan(df1.ix[0,3]) #對df1的第0行第3列判斷

# 關于NaN的判斷

python在數據預處理的時候,經常遇到需要對空值進行處理的地方。

空值在python中的表現一般為:

1、None

2、False

3、''

4、nan

前3個很容易判斷,直接=就可以了,第四種比較蛋疼,因為你會發現,它無法用==進行判斷(這個跟nan的原因有關),這里要從nan的是啥說起。

NaN(not a number),在數學表示上表示一個無法表示的數,這里一般還會有另一個表述inf,inf和nan的不同在于,inf是一個超過浮點表示范圍的浮點數(其本質仍然是一個數,只是他無窮大,因此無法用浮點數表示,比如1/0),而nan則一般表示一個非浮點數(比如無理數)

在數學上inf==inf,且inf == inf+X(X為任意浮點數),而nan != nan,因此在python中判斷一個數是否是nan,可以直接判斷他是否與自身相等。

>>> np.nan == np.nan
False

這也是變量≠自身的一個特例,因此使用這個性質可以判斷這個數是否為nan。

nan的類型,如果硬要歸類的話,應該更像浮點型。

>>> np.nan
nan
>>> type(np.nan)
<type 'float'>

要注意的是,nan的類型是float,當對nan進行強制類型轉換時,轉換為整數型時會報錯,一般的報錯是如下情況:

>>> int(np.nan)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: cannot convert float NaN to integer
>>> long(np.nan)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: cannot convert float NaN to integer
>>> int('nan')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'nan'

如果是報上面的錯前兩個錯,則是因為被轉型的已經是一個float的nan(np.nan),如果是報第三個錯,則被轉換的是字符串'nan'

而將nan或'nan'從字符串到float轉換時,都不會出現錯誤。這也是有時候會隱藏的錯誤,因為numpy的ndarray是支持復合類型的(如object),如果是一個非法字符被先后轉換為float,string,則會表現出是一個string,如果進行強轉,則報第三個錯。而且此時不能用x!=x判斷。

現在python的大部分普通運算中已經不會出現nan,但是在numpy包中,從list轉換nparray時,如果遇到類型不匹配,或其他問題導致轉換失敗時,仍然會以nan填充,而不是報錯。在處理這類問題,則需要設置一些缺失值處理方法,這里pandas包里提供了很多,最常用的就是用空值或0替換掉。

感謝各位的閱讀!看完上述內容,你們對python3檢測空值的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡西市| 弥勒县| 南通市| 眉山市| 孟津县| 隆安县| 曲松县| 麻江县| 新田县| 古丈县| 玉环县| 陵川县| 内乡县| 渭源县| 吕梁市| 松滋市| 赤壁市| 英山县| 上林县| 苍梧县| 开阳县| 九龙坡区| 定州市| 杭锦后旗| 樟树市| 德兴市| 新沂市| 昌图县| 廊坊市| 晋中市| 岐山县| 梓潼县| 舟山市| 柏乡县| 长沙县| 讷河市| 乐至县| 海阳市| 客服| 章丘市| 彩票|