PySpark:根据列值命名新的dataframe列

PySpark:根据列值命名新的dataframe列,dataframe,pyspark,Dataframe,Pyspark,我需要在我的dataframe中创建新列,并根据dataframe值命名这些列。大概是这样的: new_df = df.withColumn( concat('col_',df['col1']) , df['col2']+df['col3']) 但它告诉我不能在名称中使用列对象请告诉我这是否有帮助 from pyspark.sql import functions as F new_df = df.withColumn('combcol',F.concat(F.lit('col_'),df['

我需要在我的dataframe中创建新列,并根据dataframe值命名这些列。大概是这样的:

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

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

请告诉我这是否有帮助

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'))

就像,对于col1中的每个值,都必须创建一个新列,对吗?@Suresh这正是我想要计算的,你的回答帮助了我谢谢