Pyspark填充缺失值,以递减方式
我的spark数据框是Pyspark填充缺失值,以递减方式,pyspark,apache-spark-sql,Pyspark,Apache Spark Sql,我的spark数据框是 Client Date Due_Day A 2017-01-01 Null A 2017-02-01 Null A 2017-03-01 Null A 2017-04-01 Null A 2017-05-01 Null A 2017-06-01 35 A 2017-07-01 Null A 2017-08-01 Null A 2017-
Client Date Due_Day
A 2017-01-01 Null
A 2017-02-01 Null
A 2017-03-01 Null
A 2017-04-01 Null
A 2017-05-01 Null
A 2017-06-01 35
A 2017-07-01 Null
A 2017-08-01 Null
A 2017-09-01 Null
A 2017-10-01 Null
A 2017-11-01 Null
A 2017-12-01 Null
B 2017-01-01 Null
B 2017-02-01 Null
B 2017-03-01 Null
B 2017-04-01 Null
B 2017-05-01 Null
B 2017-06-01 Null
B 2017-07-01 Null
B 2017-08-01 Null
B 2017-09-01 Null
B 2017-10-01 78
B 2017-11-01 Null
B 2017-12-01 Null
数据帧中的同一客户端有一个非空到期日
期望输出为
Client Date Due_Day Result
A 2017-01-01 Null -115
A 2017-02-01 Null -85
A 2017-03-01 Null -55 -> -25 - 30 = -55
A 2017-04-01 Null -25 -> 5 - 30 = -25
A 2017-05-01 Null 5 -> 35 - 30 = 5
A 2017-06-01 35 35
A 2017-07-01 Null Null -> Still Same value (null)
A 2017-08-01 Null Null -> Still Same value (null)
A 2017-09-01 Null Null
A 2017-10-01 Null Null
A 2017-11-01 Null Null
A 2017-12-01 Null Null
B 2017-01-01 Null -192
B 2017-02-01 Null -162
B 2017-03-01 Null -132
B 2017-04-01 Null -102
B 2017-05-01 Null -72
B 2017-06-01 Null -42
B 2017-07-01 Null -12
B 2017-08-01 Null 18 -> 48 - 30 = 18
B 2017-09-01 Null 48 -> 78 - 30 = 48
B 2017-10-01 78 78
B 2017-11-01 Null Null -> Still Same value (null)
B 2017-12-01 Null Null -> Still Same value (null)
在每个客户的年初之前,结果列中的值应在非空到期日值之前每月减少30天
你能帮我了解一下pyspark代码吗