PySpark:从列值中命名一个新的数据框列
问题描述:
我需要在我的数据框中创建新列,并从数据框值中命名这些列。事情是这样的:PySpark:从列值中命名一个新的数据框列
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
@Suresh这正是我想要计算和你的答案帮助我谢谢 –