【发布时间】:2023-03-17 06:32:02
【问题描述】:
我在 Pyspark 中有一个数据框,我想在其上计算列中的空值以及这些相应列的不同值,即非空值
这是我拥有的数据框
trans_date transaction_id transaction_id1
2016-01-01 1 1
2016-01-01 2 null
2016-01-01 null 3
我想对月份和年份进行聚合并生成类似的东西
| month | year | id_count_in_x_not_in_y | id_count_in_y_not_in_x | ids_in_x | ids_in_y |
df.groupBy(F.month(F.col("trans_date")).alias("MONTH"), \
F.year(F.col("trans_date")).alias("YEAR")) \
.agg(*(F.sum(F.col(c).isNull().cast("int")).alias(c) for c in columns))\
.show()
这就是我在代码方面所拥有的,但它似乎并没有给我很好的答案。此外,应该如何在同一代码中进行非空计数。 任何帮助,将不胜感激。 谢谢!
【问题讨论】:
-
请提供预期结果的样本。
标签: python pyspark apache-spark-sql