假设我要在两列中添加两列
df
col1 col2 col3
1 2 3
3 4 5
并添加一列 col1 col2 col3 SUM 1 2 3 6 3 4 5 12
df.withColumn(“ SUM”,col(col1)+ col(col2)+ col(col3))
但是我想动态地做:
array = [“ col1”,“ col2”,“ col3”]
df.withColumn(“ SUM”,* [colarray中用于x的colarray])
但是似乎我不确定在哪里可以在上面加一个加号“ +”。
答案 0 :(得分:0)
您可以使用以下命令:
val colList = df.schema.fields.map(struct=> col(struct.name))
val newDf = df.withColumn("Sum",colList.reduce(_+_))
这是通用命令:
Sum
的新DF。