Pandas isna()和isnull(),有什么区别?

bak*_*kka 23 python pandas

熊猫有isna()isnull().我通常isnull()用来检测缺失值并且从未遇到过这种情况,所以我不得不使用其他的.那么,何时使用isna()

qsa*_*tos 30

isnull是别名isna.字面意思是在熊猫代码源:

isnull = isna
Run Code Online (Sandbox Code Playgroud)

确实:

>>> pd.isnull
<function isna at 0x7fb4c5cefc80>
Run Code Online (Sandbox Code Playgroud)

所以我建议使用isna.

  • “应该有一种——最好只有一种——明显的方法来做到这一点。” (12认同)
  • 有推荐的使用方法吗?其中之一只是遗产吗? (4认同)
  • 由于`isnull`是`isna`的别名,因此我倾向于使用`isna`。实际上,“ isna”似乎比“ isnull”使用得更多。 (2认同)
  • 我非常生气,我们有 `np.nan` 和 `np.isnan()` 但 pandas 是 `pd.isna()` (2认同)
  • `pd.isnull` 与 `np.isnan` 不同;`pd.isnull` (和 `isna`)适用于对象数据类型,并为 `None` 返回 True,因此使用不同的名称是有意义的 (2认同)

Jyo*_*Pal 10

他们都是一样的。作为最佳实践,始终更喜欢使用isna()over isnull()

很容易记住isna()正在做什么,因为当您查看 numpy 方法时np.isnan(),它会检查NaN值。在 pandas 中,还有其他类似的方法名称dropna(),例如 ,fillna()它可以处理缺失值,并且总是有助于轻松记住。


Tam*_* Le 6

两者的文档实际上是相同的。

pandas.isna() : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.isna.html#pandas.isna

pandas.isnull() : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.isnull.html#pandas.isnull

在这里,它甚至说 DataFrame.isnull 是另见部分 isna 的别名。

pandas.DataFrame.isnull(): https://pandas-docs.github.io/pandas-docs-travis/generated/pandas.DataFrame.isnull.html#pandas.DataFrame.isnull

因此,它们必须是相同的东西,例如 np.nan、np.NaN、np.NAN。