Pandas库中isnull函数的实现
作者:Midsummer-逐梦
一、简介
isnull()
是Pandas库中DataFrame和Series对象的一个函数,用于检测数据中的缺失值。它返回一个布尔类型的DataFrame或Series,其中True表示该位置的值是缺失的(NaN
或None
),False表示该位置的值不是缺失的。
二、语法和参数
DataFrame.isnull()
isnull()
函数没有参数。它直接应用于DataFrame或Series对象。
三、实例
3.1 基本使用
代码:
import pandas as pd import numpy as np # 创建一个包含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()后的结果:") 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()后的结果:
A B C
0 False False False
1 True False False
2 False True False
3 True False False
3.2 与sum()函数结合使用
代码:
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("每列缺失值的数量:") print(df.isnull().sum()) print("\n每行缺失值的数量:") print(df.isnull().sum(axis=1))
输出:
每列缺失值的数量:
A 2
B 1
C 0
dtype: int64每行缺失值的数量:
0 0
1 1
2 1
3 1
dtype: int64
3.3 与布尔索引结合使用
代码:
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
四、注意事项
isnull()
函数可以检测NaN和None值,但不能检测空字符串或其他可能被视为"缺失"的值。- 对于非数值类型的列(如字符串或日期时间),只有None值会被视为缺失,而NaN不会。
isnull()
的逻辑相反函数是notnull()
,它返回True表示非缺失值,False表示缺失值。- 在处理大型数据集时,
isnull()
可能会消耗较多内存,因为它会创建一个与原DataFrame大小相同的新DataFrame。 isnull()
和isna()
是完全相同的函数,可以互换使用。- 在进行数据清洗和预处理时,
isnull()
是一个非常有用的工具,可以帮助识别和处理缺失数据。
到此这篇关于Pandas库中isnull函数的实现的文章就介绍到这了,更多相关Pandas isnull函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!