2017-10-05 2 views
0

Ich muss neue Spalten in meinem Datenframe erstellen und diese Spalten aus Datenrahmenwerten benennen. Etwas wie folgt aus:PySpark: Benennen Sie eine neue Datenrahmenspalte aus dem Spaltenwert

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

Aber es sagt, dass ich nicht Spalte Objekt im Namen

+1

Es ist wie für jeden Wert in col1 muss eine neue Spalte erstellt werden, richtig? – Suresh

+0

@Suresh Genau das wollte ich berechnen und deine Antwort hat mir geholfen –

Antwort

1

Lassen Sie mich wissen, ob das hilft verwenden können,

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