PySpark数据框分组和计数空值

用户名

我有以下形式的Spark数据框:

+------+-------+-----+--------+
| Year | Month | Day | Ticker |
+------+-------+-----+--------+

我正在尝试按“年”对所有值进行分组,并计算每年每一列中缺失值的数量。

我发现以下代码片段(忘记了来自哪里):

df.select(*(sum(col(c).isNull().cast("int")).alias(c) for c in df.columns)).show()

当计算每列的缺失值数量时,这非常理想。但是,我不确定如何修改此值以计算每年的缺失值。

朝正确方向的任何指针将不胜感激。

它是

您可以使用相同的逻辑并添加分组依据。请注意,我还从汇总列中删除了“ year”,但这是可选的(您将获得两个“ year”列)。

columns = filter(lambda x: x != "year", df.columns)
df.groupBy("year")\
  .agg(*(sum(col(c).isNull().cast("int")).alias(c) for c in columns))\
  .show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章