gpt4 book ai didi

python - Pyspark 数据框 : Summing over a column while grouping over another

转载 作者:行者123 更新时间:2023-11-28 20:41:12 25 4
gpt4 key购买 nike

我有一个如下所示的数据框

In [94]: prova_df.show()


order_item_order_id order_item_subtotal
1 299.98
2 199.99
2 250.0
2 129.99
4 49.98
4 299.95
4 150.0
4 199.92
5 299.98
5 299.95
5 99.96
5 299.98

我想做的是为第一列的每个不同值计算第二列相应值的总和。我尝试使用以下代码执行此操作:

from pyspark.sql import functions as func
prova_df.groupBy("order_item_order_id").agg(func.sum("order_item_subtotal")).show()

给出输出

SUM('order_item_subtotal)
129.99000549316406
579.9500122070312
199.9499969482422
634.819995880127
434.91000747680664

我不太确定这样做是否正确。为什么它不显示第一列中的信息?预先感谢您的回答

最佳答案

Why isn't it showing also the information from the first column?

很可能是因为您使用的是过时的 Spark 1.3.x。如果是这种情况,您必须重复 agg 中的列分组,如下所示:

(df
.groupBy("order_item_order_id")
.agg(func.col("order_item_order_id"), func.sum("order_item_subtotal"))
.show())

关于python - Pyspark 数据框 : Summing over a column while grouping over another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com