我如何将一个只有一列和多行的DataFrame表格转置,例如:
1
2
3
5
6
7
...
转换为只有一行和多列的数据框,如下所示:
1,2,3,4,5,6,7,8,9,10,...
我如何将一个只有一列和多行的DataFrame表格转置,例如:
1
2
3
5
6
7
...
转换为只有一行和多列的数据框,如下所示:
1,2,3,4,5,6,7,8,9,10,...
只需执行 pivot
操作:
df = spark.range(10)
df.show()
+---+
| id|
+---+
| 0|
| 1|
| 2|
| 3|
| 4|
| 5|
| 6|
| 7|
| 8|
| 9|
+---+
df.groupBy().pivot("id").count().show()
+---+---+---+---+---+---+---+---+---+---+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|
+---+---+---+---+---+---+---+---+---+---+
| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1|
+---+---+---+---+---+---+---+---+---+---+
df.groupBy().pivot("id").agg(F.first(F.col("id"))).show()
+---+---+---+---+---+---+---+---+---+---+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|
+---+---+---+---+---+---+---+---+---+---+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|
+---+---+---+---+---+---+---+---+---+---+