【发布时间】:2019-03-29 11:48:18
【问题描述】:
我有一个如下所示的 PySpark 数据框:
id header1 header2 header3 ... headerN
a 997 154.5 0.8 ....
b 0.3 3.4 6.7 ....
c 7 8 9 ....
.
.
.
我想将其转换为如下所示的平面表:
a header1 997
a header2 154.5
a header3 0.8
b header1 0.3
b header2 0.3
等等
每个标题列名称都是唯一的。第一列名称是 ID。如何在 PySpark 中最有效地转换它?我可以循环遍历DataFrame,但必须有更有效的方法。
这是一个示例数据框:
df = spark.createDataFrame([
('a',997.0,154.5,0.8),
('b',0.3,3.4,6.7),
('c',7.0,8.0,9.0)],
['id','header1','header2','header3'])
【问题讨论】:
-
这个问题不是很清楚。您是否希望更改格式或将表格减少到设定的列数?
-
@AlphaTested 我希望更改表格的格式。当前表格是一种二维矩阵。
标签: python apache-spark dataframe pyspark apache-spark-sql