我有一个包含以下架构的数据框:
|- colA (Int)
|- colB (Int)
|- cnt (Int)
我想执行以下条件表达式(伪代码):
if cnt > 1:
colC = colA + colB
else:
colC = colA
在上面的示例中,colC
是使用withColumn
函数创建的新列。
我不想在collect
上cnt
。
答案 0 :(得分:2)
您可以使用when/otherwise
语法与withColumn
结合使用来有条件地创建列:
df.withColumn("colC", when($"cnt" > 1, $"colA" + $"colB").otherwise($"colA"))