PySpark:从列值中命名一个新的数据框列

问题描述:

我需要在我的数据框中创建新列,并从数据框值中命名这些列。事情是这样的:PySpark:从列值中命名一个新的数据框列

new_df = df.withColumn(concat('col_',df['col1']) , df['col2']+df['col3']) 

但它告诉我不能使用列对象名称

+1

这就像,在COL1每个值,必须创建一个新列,是否正确? – Suresh

+0

@Suresh这正是我想要计算和你的答案帮助我谢谢 –

让我知道如果这能帮助,

from pyspark.sql import functions as F 
new_df = df.withColumn('combcol',F.concat(F.lit('col_'),df['col1'])).groupby('col1').pivot('combcol').agg(F.first('col1')+F.first('col2'))