【问题标题】:Pandas - check if ALL values are NaN in SeriesPandas - 检查系列中的所有值是否都是 NaN
【发布时间】:2016-01-13 19:55:14
【问题描述】:

我有一个如下所示的数据系列:

print mys

id_L1
2       NaN
3       NaN
4       NaN
5       NaN
6       NaN
7       NaN
8       NaN

我想检查的是所有值都是 NaN。

我的尝试:

pd.isnull(mys).all()

输出:

True

这是正确的方法吗?

【问题讨论】:

  • 是的,isnull 将创建一个布尔系列,all 返回True 如果所有都是True

标签: python pandas null nan series


【解决方案1】:

是的,没错,但我认为更惯用的方式是:

mys.isnull().all()

【讨论】:

    【解决方案2】:

    这将检查所有列..

    mys.isnull().values.all(axis=0)
    

    【讨论】:

    • 如果您像我一样搜索“检查 DataFrame 中的所有值是否都是 NaN”,这是正确的方法。 OP 正在寻找系列解决方案 Tho :P EDIT 我更喜欢给出系列的版本:opp.isna().all()
    • 我会在末尾添加 '[0]' 以获得实际的“False”或 True”:mys.isnull().values.all(axis=0)[0]跨度>
    【解决方案3】:
    if df['col'].count() > 0:
        then ...
    

    这很好用,但我认为这可能是一个相当缓慢的方法。我错误地将其嵌入到 6000 次循环中以测试四列 - 这很残酷,但我可以清楚地责怪程序员:)

    显然,不要像我一样。总是:测试一次你的列是否为空,设置一个变量为是 - “空”或否 - “非空”结果 - 然后循环。

    【讨论】:

      猜你喜欢
      • 2017-01-10
      • 2020-06-25
      • 2017-09-15
      • 2017-12-21
      • 2021-02-20
      • 2020-02-10
      • 1970-01-01
      • 2021-10-29
      • 2011-04-01
      相关资源
      最近更新 更多