在 pyspark 中将行转置为列

Atu*_*uma 3 python apache-spark pyspark

如何转置只有一列和多行的 Dataframe 表,例如:

1
2
3
5
6
7
...
Run Code Online (Sandbox Code Playgroud)

到只有一行和多列的数据框,例如:

1,2,3,4,5,6,7,8,9,10,...
Run Code Online (Sandbox Code Playgroud)

Ste*_*ven 5

只需做一个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|
+---+---+---+---+---+---+---+---+---+---+
Run Code Online (Sandbox Code Playgroud)