![Dataframe](https://i.stack.imgur.com/UIbsq.png)
У меня есть таблица, в которой я хочу вычесть значения в предыдущей строке и обновить новую строку.
В этом случае
Строка 1 - Ожидаемый FCF должен быть 13,02 Ожидаемый FCF
Строка 2 - Ожидаемый FCF должен быть 13,02 - (-6,34) = 19,36 Ожидаемый FCF (предыдущая строка) - TotalPaid (предыдущая строка)
Строка 3 - Ожидаемый FCF должен быть 19,36 - (-345,52) = 364,88
Строка 4 - Ожидаемый FCF должен быть 364,88 - (-161,34) = 526,22
Я использую это:
df = df.withColumn('ExpectedFCF', (F.when((F.col('Calculation') > 1),
(F.lag(F.col('ExpectedFCF')).over(window) - F.col('TotalPaid'))).otherwise(F.col('ExpectedFCF_x'))))
Но я не могу найти правильное решение с этим. Вот еще один пример, в котором ColC
- это то, что я пытаюсь получить. ![spark](https://i.stack.imgur.com/c8p38.png)