Мне нужна помощь с правильным и наилучшим синтаксисом ниже Scala df:
//this works:
var df2 = df1.withColumn("score", when(col("a")===0, (1 + 2 + 3 + 4 + 5 + 6)).otherwise(1 + 2 + 3 + 4 + 5 + 6 + 7))
Я ищу лучший и более компактный синтаксис, например:
// does not work, error: col("a") which is a column cannot be equated to an int
var df2 = df1.withColumn("score", 1 + 2 + 3 + 4 + 5 + 6 + (if (col("a")===0) 7 else 0))
Причина, по которой мне нужно это сделать, заключается в том, что использование «когда» работает, но строка кода слишком длинная и ее трудно читать и поддерживать, а также слишком много повторений записи 1 + 2 + 3 + 4 + 5 + 6
снова и снова.