如何使用withColumn

时间:2017-07-05 16:44:02

标签: python pyspark

我有一个包含4个数字变量的数据框,我需要使用其他4个变量的总和创建另一个变量。 这个功能确实有效:

df4.withColumn( "sumVariables", sum(df4[x] for x in df4.columns[1:5])).show()

问题是Null值的总和,因为结果与

一行

0| null| 1| 0是空的

我该如何解决?

2 个答案:

答案 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()