我是 Spark 新手,需要帮助将以下输入数据帧转换为所需的输出df
(行到列)使用 PySpark 或 Spark Sql。
输入数据框-
A B C D
1 2 3 4
10 11 12 13
......
........
所需的输出(转置)数据
A 1
B 2
C 3
D 4
A 11
B 12
C 13
D 14
....
......
如果我可以根据我们的要求旋转输入数据(列),那就更好了。
Use stack
火花中的功能。
Example:
df.show()
#+---+---+---+---+
#| A| B| C| D|
#+---+---+---+---+
#| 1| 2| 3| 4|
#| 10| 11| 12| 13|
#+---+---+---+---+
from pyspark.sql.functions import *
df.selectExpr("stack(4,'A',A,'B',B,'C',C,'D',D) as (key,value)").show()
#+---+-----+
#|key|value|
#+---+-----+
#| A| 1|
#| B| 2|
#| C| 3|
#| D| 4|
#| A| 10|
#| B| 11|
#| C| 12|
#| D| 13|
#+---+-----+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)