Pandas isna()和isnull()函数:有何不同

Pandas isna()和isnull()函数:有何不同

在本文中,我们将介绍Pandas中的两个重要函数:isna()和isnull()。这两个函数可以用于检查数据中的缺失值,并返回一个布尔值的数组,表示哪些值是缺失值。

阅读更多:Pandas 教程

isna()和isnull()函数的介绍

虽然isna()和isnull()函数被广泛用于检查缺失值,但它们实际上是同一个函数,只是别名不同。isna()是isnull()的别名,两个函数在功能上是相同的。调用这两个函数都可以执行相同的操作,并返回相同的结果。

示例代码:

#导入pandas库
import pandas as pd

#创建包含空值NaN的Pandas数据帧
df = pd.DataFrame({'A':[1,2,None],'B':[4,None,None],'C':[7,8,9]})

#使用isna()函数检查缺失值
print(df.isna())
Python

输出:

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

在此示例中,我们创建了一个包含NaN空值的Pandas数据帧。调用isna()函数可以将数据帧中的每个值与NaN进行比较。如果值为NaN,则返回“True”;否则,返回“False”。结果是一个布尔值的数据帧,其中包含原始数据帧中缺失值的位置。

isna()和isnull()函数的不同

虽然isna()和isnull()是相同的函数,但Pandas文档中建议优先使用isna()函数。

这是因为isnull()函数是在Pandas 0.17.0版本之前引入的。在这个版本之后,Pandas文档建议使用isna()函数代替isnull()函数。尽管isnull()函数仍然有效,但是使用isna()函数可以使代码更加简洁和可读。

另外,isna()和isnull()函数的一小个区别是:isna()函数可以用于所有数据类型,而isnull()函数只能用于numpy数组。

示例代码:

#导入numpy库
import numpy as np

#使用isna()函数检查Pandas数据帧和numpy数组中的缺失值
print(pd.isna(np.nan))
print(pd.isna(None))

#使用isnull()函数检查numpy数组中的缺失值
print(pd.isnull(np.nan))
Python

输出:

True
True
True
Python

在此示例中,我们使用了两个不同的数据类型:Pandas数据帧和numpy数组。使用isna()函数可以检查两种数据类型中的缺失值。但是,isnull()函数只能检查numpy数组。如果使用isnull()函数检查Pandas数据帧,则函数调用会引发AttributeError。

总结

本文介绍了Pandas中的两个函数:isna()和isnull(),它们可以用于检查数据中的缺失值。尽管两个函数在功能上是相同的,但是isna()函数比isnull()函数更加优先安全。因此,建议在Pandas代码中使用isna()函数来检查缺失值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册