【问题标题】:Pyspark groupby and count null valuesPyspark groupby 和计数空值
【发布时间】:2021-05-17 06:49:31
【问题描述】:

PySpark Dataframe Groupby and Count Null Values

参考上面的解决方案链接,我尝试应用相同的逻辑,但 groupby("country") 并获取另一列的空计数,但我遇到了“列不可迭代”失败。有人可以帮忙吗?

df7.groupby("country").agg(*(sum(col(c).isNull().cast("int")).alias(c) for c in columns))

【问题讨论】:

  • 你从 pyspark sql 函数中导入 sum 了吗?

标签: pyspark


【解决方案1】:
covid_india_df.select(
    [
        funcs.count(
            funcs.when((funcs.isnan(clm) | funcs.col(clm).isNull()), clm)
        ).alias(clm) for clm in covid_india_df.columns
    ]
).show()

上述方法可以帮助您获得正确的结果。 Check here 一个完整的例子。

【讨论】:

  • 在这种情况下,它在对整个列求和时起作用,但我需要按年份对其进行分组,所以我尝试了以下方法,df7.groupby("country").agg(F.count(F .when((F.isnan(c) | F.col(c).isNull()), c)).alias(c) for c in columns).show() 并且在这种情况下我收到“所有表达式都应该是列”错误
猜你喜欢
  • 2019-08-11
  • 1970-01-01
  • 2023-03-21
  • 2021-12-07
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多