我有一个包含4个数字变量的数据框,我需要使用其他4个变量的总和创建另一个变量。 这个功能确实有效:
df4.withColumn( "sumVariables", sum(df4[x] for x in df4.columns[1:5])).show()
问题是Null值的总和,因为结果与
一行 0| null| 1| 0
是空的
我该如何解决?
答案 0 :(得分:1)
这应该有效:
df4.withColumn( "sumVariables", sum(df4[x] for x in df4.columns[1:5] if x != "null") ).show()
答案 1 :(得分:1)
将Null替换为0
df4 = df4.fillna(0)
df4.withColumn( "sumVariables", when(sum(df4[x] for x in df4.columns) > 0, sum(df4[x] for x in df4.columns)).otherwise(None)).show()