Pandas庫中isnull函數(shù)的實(shí)現(xiàn)
一、簡(jiǎn)介
isnull()是Pandas庫中DataFrame和Series對(duì)象的一個(gè)函數(shù),用于檢測(cè)數(shù)據(jù)中的缺失值。它返回一個(gè)布爾類型的DataFrame或Series,其中True表示該位置的值是缺失的(NaN或None),F(xiàn)alse表示該位置的值不是缺失的。
二、語法和參數(shù)
DataFrame.isnull()
isnull()函數(shù)沒有參數(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庫中isnull函數(shù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas isnull函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pandas實(shí)現(xiàn)csv/excel sheet互相轉(zhuǎn)換的方法
今天小編就為大家分享一篇使用pandas實(shí)現(xiàn)csv/excel sheet互相轉(zhuǎn)換的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python如何把十進(jìn)制數(shù)轉(zhuǎn)換成ip地址
這篇文章主要介紹了Python如何把十進(jìn)制數(shù)轉(zhuǎn)換成ip地址,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
python爬蟲基礎(chǔ)知識(shí)點(diǎn)整理
在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲基礎(chǔ)知識(shí)點(diǎn)整理內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-06-06
python?Seaborn繪制統(tǒng)計(jì)圖全面指南(直方圖散點(diǎn)圖小提琴圖熱力圖相關(guān)系數(shù)圖多張合并)
這篇文章主要介紹了python?Seaborn繪制統(tǒng)計(jì)圖全面指南,包括直方圖,散點(diǎn)圖,小提琴圖,熱力圖,相關(guān)系數(shù)圖及多張圖合并的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助2024-01-01
Python?asyncore?socket客戶端開發(fā)基本使用教程
asyncore庫是python的一個(gè)標(biāo)準(zhǔn)庫,提供了以異步的方式寫入套接字服務(wù)的客戶端和服務(wù)器的基礎(chǔ)結(jié)構(gòu),這篇文章主要介紹了Python?asyncore?socket客戶端開發(fā)基本使用,需要的朋友可以參考下2022-12-12
python實(shí)現(xiàn)跳表SkipList的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)跳表SkipList的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07
Python操作Excel把數(shù)據(jù)分給sheet
這篇文章主要介紹了Python操作Excel把數(shù)據(jù)分給sheet,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05

