我有以下简化的PySpark输入数据帧:
Category Time Stock-level Stock-change
apple 1 4 null
apple 2 null -2
apple 3 null 5
banana 1 12 null
banana 2 null 4
orange 1 1 null
orange 2 null -7
我希望对于每个Category
,按Time
升序,当前行的Stock-level
值用前一行的Stock-level
+该行本身的Stock-change
填充.更清楚的是:
Stock-level[row n] = Stock-level[row n-1] + Stock-change[row n]
输出数据帧应如下所示:
Category Time Stock-level Stock-change
apple 1 4 null
apple 2 2 -2
apple 3 7 5
banana 1 12 null
banana 2 16 4
orange 1 1 null
orange 2 -6 -7
我知道Pyspark窗口函数,它们似乎对此很有用,但我找不到一个示例来解决这种特定类型的问题,即将当前行和前一行的值相加.
提前谢谢!