【发布时间】:2020-02-06 18:07:28
【问题描述】:
我有一个包含多个列的 pyspark 数据框,如下所示:
name col1 col2 col3
A 1 6 7
B 2 7 6
C 3 8 5
D 4 9 4
E 5 8 3
我想在 pyspark 中创建一个新的数据框,方法是将 col1、col2、col3 的列名和列值组合成两个新列,例如,new_col 和 new_col_val,跨行分布:
我使用以下代码在 R 中做了同样的事情:
df1 <- gather(df,new_col,new_col_val,-name)
我想创建 3 个单独的数据帧,它们将包含原始数据帧中的每一列,然后将它们附加在一起,但我的数据有超过 2500k 行和大约 60 列。创建多个数据框将是最糟糕的主意。 谁能告诉我如何在 pyspark 中执行此操作?
【问题讨论】:
-
melt是 pyspark 中的一个选项吗? -
pyspark 中没有像 melt 这样的功能,但是通过这个链接stackoverflow.com/questions/41670103/… 我可以解决这个问题。谢谢你给我一个使用melt的想法:)
-
你可以参考类似问题的答案codereview.stackexchange.com/questions/200391/…
标签: python apache-spark pyspark