【Pandas】pandas isnull

该文章已生成可运行项目,

Pandas2.2 General

Top-level missing data

方法描述
isna(obj)用于检测数据中的缺失值
isnull(obj)用于检测数据中的缺失值
notna(obj)用于检测数据中的非缺失值
notnull(obj)用于检测数据中的非缺失值

pandas.isnull()

pandas.isnull() 是 Pandas 库中的一个函数,它用于检测数据中的缺失值。以下是该函数参数的详细介绍,以及示例和结果。

def isna(obj: object) -> bool | npt.NDArray[np.bool_] | NDFrame:
    ...
参数
  • obj:array-like, Series, DataFrame, or scalar
    • 待检测的对象,即需要检查是否存在缺失值的数据。可以是类似数组的对象、Series、DataFrame 或标量值。
返回值
  • 返回一个与输入数据形状相同的布尔值对象(或布尔数组),指示相应位置上是否存在缺失值(NaNNone)。
示例 1:检查标量中的缺失值
import pandas as pd

# 标量值检查
result = pd.isnull('dog')

print(result)

结果

False

解释:标量值 'dog' 不是缺失值。

示例 2:检查 numpy 数组中的缺失值
import pandas as pd
import numpy as np

# 创建一个包含缺失值的 numpy 数组
array = np.array([[1, np.nan, 3], [4, 5, np.nan]])

# 使用 isnull() 检查缺失值
result = pd.isnull(array)

print(result)

结果

[[False  True False]
 [False False  True]]

解释:数组中的 np.nan 被识别为缺失值,返回 True

示例 3:检查 Pandas Series 中的缺失值
import pandas as pd
import numpy as np

# 创建一个包含缺失值的 Series
series = pd.Series([1, 2, np.nan, 4, None, 6])

# 使用 isnull() 检查缺失值
result = pd.isnull(series)

print(result)

结果

0    False
1    False
2     True
3    False
4     True
5    False
dtype: bool

解释:Series 中的 np.nanNone 被识别为缺失值,返回 True

示例 4:检查 Pandas DataFrame 中的缺失值
import pandas as pd
import numpy as np

# 创建一个包含缺失值的 DataFrame
df = pd.DataFrame({
    'A': [1, 2, np.nan, 4],
    'B': [None, 2, 3, 4],
    'C': [1, np.nan, np.nan, 4]
})

# 使用 isnull() 检查缺失值
result = pd.isnull(df)

print(result)

结果

       A      B      C
0  False   True  False
1  False  False   True
2   True  False   True
3  False  False  False

解释:DataFrame 中的 np.nanNone 被识别为缺失值,返回相应的布尔 DataFrame。

注意事项

  • pandas.isnull()pandas.isna() 是完全相同的函数,可以互换使用。
  • 对于非数值类型的列(如字符串或日期时间),只有 None 值会被视为缺失,而 NaN 不会。
  • 在处理大型数据集时,isnull() 可能会消耗较多内存,因为它会创建一个与原 DataFrame 大小相同的新 DataFrame。

通过这些示例,你可以看到 pandas.isnull() 如何用于检测不同对象中的缺失值。这个函数在处理数据时非常有用,特别是当你需要清理或分析数据时。

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuweidong0802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值