2017-07-20 4 views
0

Ich habe einen Funken DataFrame mit mehreren Spalten. Ich möchte die Zeilen basierend auf einer Spalte gruppieren und dann den Mittelwert einer der Spalten finden.Gruppieren von Daten in pyspark

Beispiel:

column x | column y 
    1 | 2 
    1 | 8 
    2 | 6 
    2 | 4 
    3 | 1 
    3 | 1 
    3 | 1 
    3 | 1 

erwarten neuen Datenrahmen:

column x | mean 
    1 | 5 
    2 | 5 
    3 | 1 

tks

Antwort

0

Die unten Snippet funktionieren würden.

>>> df = spark.createDataFrame([(1,2),(1,8),(2,6),(2,4),(3,1),(3,1),(3,1),(3,1)], ["col1", "col2"]) 

>>> df.groupBy("col1").agg({"col2": "avg"}).show() 
+----+---------+ 
|col1|avg(col2)| 
+----+---------+ 
| 1|  5.0| 
| 3|  1.0| 
| 2|  5.0| 
+----+---------+ 
+0

Es war perfekt! tks – Thaise