pandas 中 isna() 和 isnull() 的区别

数据挖掘 Python 熊猫 数据框
2021-09-22 19:19:47

我使用熊猫已经有一段时间了。isna()但是,我不明白和之间有什么区别isnull()而且,更重要的是,在识别数据框中的缺失值时使用哪一个。

如何将值检测为naor 或的基本潜在区别是null什么?

1个回答

熊猫isna()isnull()

我假设您指的是pandas.DataFrame.isna()vs pandas.DataFrame.isnull()不要与 混淆pandas.isnull(),与上述两者相反,它不是 DataFrame 类的方法。

这两个 DataFrame 方法做的事情完全一样!甚至他们的文档都是相同的。您甚至可以在 pandas 的代码中确认这一点。

但是为什么有两个不同名字的方法做同样的事情呢?

这是因为 pandas 的 DataFrames 是基于 R 的 DataFrames。在 R中nanull是两个不同的东西。阅读这篇文章了解更多信息。

然而,在 python 中,pandas 是建立在 numpy 之上的,它既没有na也没有null值。相反,numpy 有NaN值(代表“非数字”)。因此,pandas 也使用NaN值。

简而言之

  • 检测NaN值 numpy 使用np.isnan().

  • 为了检测NaN值,pandas 使用.isna().isnull()
    这些NaN值继承自 pandas 构建在 numpy 之上的事实,而这两个函数的名称源自 R 的 DataFrames,pandas 试图模仿其结构和功能。