Pyspark dataframe: Summieren über eine Spalte, während die Gruppierung über die andere
Ich habe eine Frage zu stellen,
Ich habe einen dataframe, wie die folgenden
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
Was ich tun möchte, ist zu berechnen, für jeden unterschiedlichen Wert der ersten Spalte wird die Summe über die entsprechenden Werte der zweiten Spalte.
Ich habe versucht dies mit dem folgenden code:
from pyspark.sql import functions as func
prova_df.groupBy("order_item_order_id").agg(func.sum("order_item_subtotal")).show()
Gibt eine Ausgabe
SUM('order_item_subtotal)
129.99000549316406
579.9500122070312
199.9499969482422
634.819995880127
434.91000747680664
Denen bin ich mir nicht so sicher, ob es das richtige zu tun.
Warum ist nicht es zeigt auch die Informationen aus der ersten Spalte?
Vielen Dank im Voraus für Eure Antworten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wahrscheinlich, weil Sie mit veralteten Funke 1.3.x. Wenn das ist der Fall, müssen Sie die Gruppierung der Spalten innerhalb
agg
wie folgt:Können Sie die Partitionierung verwenden und die Fenster-Funktion für das: