【问题标题】:Pandas isna() and isnull(), what is the difference?Pandas isna() 和 isnull(),有什么区别?
【发布时间】:2019-02-04 18:45:35
【问题描述】:

Pandas 同时拥有isna()isnull()。我通常使用isnull() 来检测缺失值并且从未遇到过这种情况,因此我不得不使用其他方法。 那么,什么时候用isna()呢?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      isnullisna 的别名。字面意思是code source of pandas

      isnull = isna
      

      确实:

      >>> pd.isnull
      <function isna at 0x7fb4c5cefc80>
      

      所以我建议使用isna

      【讨论】:

      • 有推荐使用的吗?其中之一只是遗产吗?
      • 由于isnullisna 的别名,我更倾向于isna。事实上,isna 似乎比isnull 更常用。
      • “应该有一种——最好只有一种——明显的方法。”
      • 大概同样适用于notnanotnull
      • 为了清晰起见,我们不仅应该使用isna,而且还应该弃用isnullisnull 对于空值返回 False 表示在设计和质量审查期间存在一些草过量。
      【解决方案3】:

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

      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。

      【讨论】:

        猜你喜欢
        • 2012-09-26
        • 2023-01-29
        • 1970-01-01
        • 2016-07-02
        • 2020-09-26
        • 2014-03-16
        • 2014-11-20
        • 2014-05-05
        • 2018-09-27
        相关资源
        最近更新 更多