Как вычесть значения из предыдущей строки и обновить фрейм данных в PySpark? - PullRequest
0 голосов
/ 07 ноября 2019

Dataframe

У меня есть таблица, в которой я хочу вычесть значения в предыдущей строке и обновить новую строку.

В этом случае

Строка 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...