-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列 –
我已更新答案可以檢查嗎? –