2024-09-26 17:56:10 发布
网友
我有以下示例数据集:
groupby prevoius current A 1 1 A 0 1 A 0 0 A 1 0 A 1 1 A 0 1
我想通过对“前一列”和“当前列”求和来创建下表
previous_total current_total 3 4
我尝试了groupby与.agg和的所有组合,试图实现上面的表,但未能成功运行任何东西
我也知道如何在Python中实现这一点,但不知道Pyspark
使用sum和groupBy方法:
sum
groupBy
>>> df.groupBy().sum().select(col("sum(previous)").alias("previous_total"), col("sum(current)").alias("current_total")).show() + + + |previous_total|current_total)| + + + | 3| 4| + + +
此外,您可以将数据帧注册为临时表,并使用Spark SQL查询它,这将得到相同的结果:
>>> df.registerTempTable("df") >>> spark.sql("select sum(previous) as previous_total, sum(current) as current_total from df").show()
您可以使用和sum:
from pyspark.sql.functions import sum df_result = df.select(sum("previous").alias("previous_total"), sum("current").alias("current_total")) df_result.show() + + + |previous_total|current_total)| + + + | 3| 4| + + +
使用
sum
和groupBy
方法:此外,您可以将数据帧注册为临时表,并使用Spark SQL查询它,这将得到相同的结果:
您可以使用和
sum
:相关问题 更多 >
编程相关推荐