我有一个包含多列的spark DataFrame。我想基于一列对行进行分组,然后找到其中一列的平均值。
示例:
column x | column y
1 | 2
1 | 8
2 | 6
2 | 4
3 | 1
3 | 1
3 | 1
3 | 1
期待新数据框:
column x | mean
1 | 5
2 | 5
3 | 1
TKS
答案 0 :(得分:0)
以下代码段可行。
>>> 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|
+----+---------+