【问题标题】:Sum null values using Koalas使用考拉对空值求和
【发布时间】:2021-01-20 16:18:25
【问题描述】:

在使用考拉时,对所有 Null / NaN 值的数据帧求和的好方法是什么?

或者换一种说法

如何按空值总数的列返回一个列表。如果可能,我会尽量避免将数据帧转换为 spark 或 pandas。

注意:.sum() 在 Koalas 中省略空值(skipna:boolean,默认 True - 不能更改为 False)。所以运行df1.isnull().sum() 是不可能的

numpy 被列为替代方案,但由于数据框位于考拉中,我观察到 .sum() 仍然省略了 nan 值。

免责声明:我知道我可以在 Spark 上运行 pandas,但我知道这会适得其反。我犹豫从 Spark 或 Pandas 数据帧中求和,然后将数据帧转换为考拉(我认为这又是浪费资源)。我正在处理一个包含 73 列和 4m 行的数据集。

【问题讨论】:

  • 以防万一您决定在 Spark 中执行此操作,这就是它的完成方式here

标签: python dataframe apache-spark data-science spark-koalas


【解决方案1】:

您实际上可以使用df.isnull()。这样做的原因是它返回一个布尔值“数组”来指示是否缺少值。因此,如果您先调用isnull,然后再调用sum,您将得到正确的计数。

例子:

import databricks.koalas as ks

df = ks.DataFrame([
  [1, 3, 9],
  [2, 3, 7],
  [3, None, 3]
], ["c1", "c2", "c3"])

df.isnull().sum()

【讨论】:

  • 谢谢!我刚刚用相同的数据集重新测试,它现在正在工作。由于我的数据相同,但考拉版本更新,我认为他们现在支持它。很高兴知道它更适合 pandas。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
相关资源
最近更新 更多