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

How to apply the conditional replacement on all columns of DataFrame?

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

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

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)