首页 > 解决方案 > 我正在尝试将表格的某些列转换为行。我正在使用 pyspark.sql

问题描述

我正在尝试将表格的某些列转换为行。我正在使用 pyspark.sql

我的初始数据框:

**输入表**

我想要这样的转置数据框:

**外桌**

请给我一些解决方案我该怎么做?

标签: pythonapache-sparkpysparkpyspark-sql

解决方案


请参考:提问的格式

问题的解决方案:

使用简单的 where 子句代替转置。

尝试 :

创建一个空数据框 DF2,其列为电子邮件、传真、电话

并为每一列使用下面的代码片段:

DF2 = DF2.withColumn("email",DF1.select('phone_number').where(DF1['phone_role'] == 'EMAIL'))

DF2 = DF2.withColumn("fax",DF1.select('phone_number').where(DF1['phone_role'] == 'FAX'))

DF2 = DF2.withColumn("phone",DF1.select('phone_number').where(DF1['phone_role'] == 'PHONE'))

稍后您可以删除 DF1 。


推荐阅读