在 pyspark 中分组数据
Grouping data in pyspark
我有一个包含多列的 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
谢谢
下面的代码片段可以工作。
>>> 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|
+----+---------+
我有一个包含多列的 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
谢谢
下面的代码片段可以工作。
>>> 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|
+----+---------+