如何在DataFrame的所有列上应用条件替换?

时间:2018-04-24 09:53:52

标签: scala apache-spark spark-dataframe

如何使用Scala在Spark中的所有DataFrame df列上应用条件替换?

df.withColumn("make", when(col("make").equalTo("true"), 1).otherwise(0)

1 个答案:

答案 0 :(得分:1)

map超过df.columns并生成您的表达式:

val expression =  df1.columns
                     .map{c => when(col(c).equalTo("Tesla") , "S").otherwise("DDD").as(c) }

然后select

df1.select(expression : _* ).show(false)