pandas.isna 和 numpy.isnan 有什么区别

作者:编程家 分类: pandas 时间:2025-10-17

区别:pandas.isna 和 numpy.isnan 的使用和功能有所不同。

pandas.isna 是 pandas 库中的一个函数,用于检测缺失值(NaN)。

numpy.isnan 是 numpy 库中的一个函数,用于检测数组中的缺失值(NaN)。

pandas.isna 的功能:

pandas.isna 用于检测一个对象是否为缺失值,返回一个布尔值。

如果对象是缺失值,则返回 True,否则返回 False。

该函数可以用于 Series、DataFrame 和 Panel 对象。

numpy.isnan 的功能:

numpy.isnan 用于检测一个数组中的缺失值,返回一个布尔数组。

如果数组中的元素是缺失值,则返回 True,否则返回 False。

该函数只能用于 numpy 数组。

案例代码:

首先,我们导入 pandas 和 numpy 库。

import pandas as pd

import numpy as np

接下来,我们使用 pandas.isna 检测一个 Series 对象中的缺失值。

# 创建一个包含缺失值的 Series 对象

s = pd.Series([1, np.nan, 'hello', None])

# 使用 pandas.isna 检测缺失值

print(pd.isna(s))

输出结果如下:

0    False

1 True

2 False

3 True

dtype: bool

接着,我们使用 numpy.isnan 检测一个 numpy 数组中的缺失值。

# 创建一个包含缺失值的 numpy 数组

a = np.array([1, np.nan, 3, np.inf])

# 使用 numpy.isnan 检测缺失值

print(np.isnan(a))

输出结果如下:

[False  True False False]

pandas.isna 和 numpy.isnan 都是用于检测缺失值的函数,但是两者的使用和功能有所不同。

pandas.isna 用于检测一个对象是否为缺失值,返回一个布尔值,可以用于 Series、DataFrame 和 Panel 对象。

numpy.isnan 用于检测一个数组中的缺失值,返回一个布尔数组,只能用于 numpy 数组。