-1
我坚持了这个问题,以下是我的数据框Pyspark列人口与计算
a b c
0 0 126
30 0 0
现在我需要用C列与式C到重新填充(以前-A + B),这是导致数据框应该是。从下面数据帧96填充为(126-30 + 0)
a b c
0 0 126
30 0 96
请帮我越过这道障碍
我坚持了这个问题,以下是我的数据框Pyspark列人口与计算
a b c
0 0 126
30 0 0
现在我需要用C列与式C到重新填充(以前-A + B),这是导致数据框应该是。从下面数据帧96填充为(126-30 + 0)
a b c
0 0 126
30 0 96
请帮我越过这道障碍
可以使用滞后函数来获取前值如下
df.withColumn("id", monotonically_increasing_id())
.withColumn("c", lag($"c", 1, 126).over(Window.orderBy("id")) - $"a" + $"b")
.drop("id").show(false)
希望这有助于!
尊敬的尚卡尔,我尝试了滞后,但我得到空值b c列 –
我已更新答案可以检查吗? –