我在创建Spark dataframe的新列时遇到了问题。我尝试使用withColumn()创建新列,代码如下:
.withColumn('%_diff_from_avg',
((col('aggregate_sales') - col('avg_sales')) / col('avg_sales') * 100))
计算结果中有一些数值被正确计算了,但是我的表格大部分数值都是空的。我不知道为什么。
有趣的是,当我从计算中删除 '* 100' 后,所有的值都被正确填充了 - 也就是说没有空值。例如:
.withColumn('%_diff_from_avg',
((col('aggregate_sales') - col('avg_sales')) / col('avg_sales')))
看起来起作用了。
因此,似乎是乘以100导致了问题。
有人能解释一下为什么吗?