python - Pyspark - 将多列数据组合成一个跨行分布的列

我有一个包含多个列的 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 个单独的数据框,其中包含原始数据框中的每一列,然后将它们附加在一起,但我的数据有超过 250 万行和大约 60 列。创建多个数据框将是最糟糕的主意。 谁能告诉我如何在 pyspark 中执行此操作?

相关文章:

reactjs - react 导航 v5 中的 tabBarIcon 问题

kubernetes-helm - 将 yaml 转换为 helm 模板中的属性文件

php - 是否有一个 Wordpress php 函数可以只返回自定义 Logo 图像的 URL(

http - 如何使用 REST API 创建 firebase 动态链接

python - 如何计算具有特定扩展名或名称的文件中的文件数?

spring - 带有 Spring Cloud Gateway 的 Keycloak

php - 如何从时间戳对象和日期时间对象数组中提取值

javascript - Flask Jinja2 模板语法与 AngularJS 冲突(jinja

reactjs - Ant 设计排序表代码不适用于 react typescript

angular - 电容器和 ionic native 状态栏