Pandas庫(kù)中isnull函數(shù)的實(shí)現(xiàn)
一、簡(jiǎn)介
isnull()
是Pandas庫(kù)中DataFrame和Series對(duì)象的一個(gè)函數(shù),用于檢測(cè)數(shù)據(jù)中的缺失值。它返回一個(gè)布爾類型的DataFrame或Series,其中True表示該位置的值是缺失的(NaN
或None
),F(xiàn)alse表示該位置的值不是缺失的。
二、語(yǔ)法和參數(shù)
DataFrame.isnull()
isnull()
函數(shù)沒(méi)有參數(shù)。它直接應(yīng)用于DataFrame或Series對(duì)象。
三、實(shí)例
3.1 基本使用
代碼:
import pandas as pd import numpy as np # 創(chuàng)建一個(gè)包含NaN和None的DataFrame df = pd.DataFrame({ 'A': [1, np.nan, 3, None], 'B': [4, 5, np.nan, 7], 'C': [8, 9, 10, 11] }) print("原始DataFrame:") print(df) print("\n使用isnull()后的結(jié)果:") print(df.isnull())
輸出:
原始DataFrame:
A B C
0 1.0 4.0 8
1 NaN 5.0 9
2 3.0 NaN 10
3 NaN 7.0 11使用isnull()后的結(jié)果:
A B C
0 False False False
1 True False False
2 False True False
3 True False False
3.2 與sum()函數(shù)結(jié)合使用
代碼:
import pandas as pd import numpy as np df = pd.DataFrame({ 'A': [1, np.nan, 3, None], 'B': [4, 5, np.nan, 7], 'C': [8, 9, 10, 11] }) print("每列缺失值的數(shù)量:") print(df.isnull().sum()) print("\n每行缺失值的數(shù)量:") print(df.isnull().sum(axis=1))
輸出:
每列缺失值的數(shù)量:
A 2
B 1
C 0
dtype: int64每行缺失值的數(shù)量:
0 0
1 1
2 1
3 1
dtype: int64
3.3 與布爾索引結(jié)合使用
代碼:
import pandas as pd import numpy as np df = pd.DataFrame({ 'A': [1, np.nan, 3, None], 'B': [4, 5, np.nan, 7], 'C': [8, 9, 10, 11] }) print("原始DataFrame:") print(df) print("\n含有缺失值的行:") print(df[df.isnull().any(axis=1)]) print("\n所有值都不缺失的行:") print(df[df.notnull().all(axis=1)])
輸出:
原始DataFrame:
A B C
0 1.0 4.0 8
1 NaN 5.0 9
2 3.0 NaN 10
3 NaN 7.0 11含有缺失值的行:
A B C
1 NaN 5.0 9
2 3.0 NaN 10
3 NaN 7.0 11所有值都不缺失的行:
A B C
0 1.0 4.0 8
四、注意事項(xiàng)
isnull()
函數(shù)可以檢測(cè)NaN和None值,但不能檢測(cè)空字符串或其他可能被視為"缺失"的值。- 對(duì)于非數(shù)值類型的列(如字符串或日期時(shí)間),只有None值會(huì)被視為缺失,而NaN不會(huì)。
isnull()
的邏輯相反函數(shù)是notnull()
,它返回True表示非缺失值,F(xiàn)alse表示缺失值。- 在處理大型數(shù)據(jù)集時(shí),
isnull()
可能會(huì)消耗較多內(nèi)存,因?yàn)樗鼤?huì)創(chuàng)建一個(gè)與原DataFrame大小相同的新DataFrame。 isnull()
和isna()
是完全相同的函數(shù),可以互換使用。- 在進(jìn)行數(shù)據(jù)清洗和預(yù)處理時(shí),
isnull()
是一個(gè)非常有用的工具,可以幫助識(shí)別和處理缺失數(shù)據(jù)。
到此這篇關(guān)于Pandas庫(kù)中isnull函數(shù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas isnull函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python GUI庫(kù)PyQt5圖形和特效樣式QSS介紹
這篇文章主要介紹了Python GUI庫(kù)PyQt5圖形和特效樣式QSS介紹,需要的朋友可以參考下2020-02-02學(xué)會(huì)python自動(dòng)收發(fā)郵件 代替你問(wèn)候女友
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)收發(fā)郵件,代替你問(wèn)候女友,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05django admin添加數(shù)據(jù)自動(dòng)記錄user到表中的實(shí)現(xiàn)方法
下面小編就為大家分享一篇django admin添加數(shù)據(jù)自動(dòng)記錄user到表中的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Python嵌套函數(shù)與nonlocal使用詳細(xì)介紹
這篇文章主要介紹了Python嵌套函數(shù)與nonlocal使用,nonlocal關(guān)鍵字與global關(guān)鍵字有點(diǎn)相似,可以對(duì)比著理解。nonlocal關(guān)鍵字只能作用域局部變量,且始終找離當(dāng)前最近的上層局部作用域中的變量2022-09-09使用Python對(duì)接OpenAi?API實(shí)現(xiàn)智能QQ機(jī)器人的方法
這篇文章主要介紹了使用Python對(duì)接OpenAi?API實(shí)現(xiàn)智能QQ機(jī)器人的方法,主要是提供一個(gè)方法思路,可以根據(jù)實(shí)現(xiàn)代碼延申出更多的解決方法,需要的朋友可以參考下2023-03-03python通過(guò)PyQt5實(shí)現(xiàn)登錄界面的示例代碼
本文主要介紹了python通過(guò)PyQt5實(shí)現(xiàn)登錄界面的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Python Pandas中的shift()函數(shù)實(shí)現(xiàn)數(shù)據(jù)完美平移應(yīng)用場(chǎng)景探究
shift()?是 Pandas 中一個(gè)常用的數(shù)據(jù)處理函數(shù),它用于對(duì)數(shù)據(jù)進(jìn)行移動(dòng)或偏移操作,常用于時(shí)間序列數(shù)據(jù)或需要計(jì)算前后差值的情況,本文將詳細(xì)介紹?shift()?函數(shù)的用法,包括語(yǔ)法、參數(shù)、示例以及常見(jiàn)應(yīng)用場(chǎng)景2024-01-01Python十類常見(jiàn)異常類型總結(jié)(附捕獲及異常處理方式)
在編寫程序時(shí)難免會(huì)遇到錯(cuò)誤,有的是編寫人員疏忽造成的語(yǔ)法錯(cuò)誤,有的是程序內(nèi)部隱含邏輯問(wèn)題造成的數(shù)據(jù)錯(cuò)誤等等,這篇文章主要給大家介紹了關(guān)于Python十類常見(jiàn)異常類型總結(jié)的相關(guān)資料,文中還附捕獲及異常處理方式,需要的朋友可以參考下2023-06-06