【发布时间】:2021-04-23 08:41:59
【问题描述】:
我正在尝试批量重命名 PySpark 中的列:
'collect_list(Target_Met_1)[1]' --> 'AB11'
'collect_list(Target_Met_1)[2]' --> 'AB12'
'collect_list(Target_Met_2)[1]' --> 'AB21'
'collect_list(Target_Met_1)[150]' --> 'AB150'
如何以编程方式进行?现在,我可以使用以下方法手动更改名称:
df.withColumnRenamed('collect_list(Target_Met_1)[1]', 'AB11')
但是,如果我有 500 列,那就没有效率了。我意识到重命名它的另一种方法是使用 udf 之类的东西,但我想不出最好的方法。
我已拆分列,这不是问题。问题在于重命名列。
【问题讨论】:
-
这不是关于拆分列,而是更多关于重命名问题。
-
你可以这样重命名。只需使用 for 循环链接重命名即可。
标签: apache-spark pyspark