Группировка по дате и суммирование первых значений из каждой группы в Pyspark - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть фрейм данных, похожий на этот:

date      | balance|
-------------------|
01/01/2018| 1000   |
01/07/2018| 1200   |
01/01/2019| 900    |
01/07/2019| 1200   |
01/01/2018| 133    |
01/07/2018| 1335   |
01/01/2019| 1244   |
01/07/2019| 124    |

Я хочу сгруппировать по дате и использовать может быть первым методом и суммировать первые строки и получить что-то вроде:

date      | first(balance)|
--------------------------|
01/01/2018| 1133          |
01/01/2019| 2235          |

У меня есть:

df = df.groupBy("balance").sum(f.first("balance"))

результат:

TypeError: Столбец не повторяется

Здесь ссылка к вопросу, который решает эту проблему.

1 Ответ

0 голосов
/ 08 ноября 2019

Ваши данные и примеры данных не полностью совпадают.

Из того, что я понял из вашего вопроса,

df = df.groupBy('date').agg(F.first('balance').alias('balance')).agg(F.sum('balance'))

В идеале это должно работать.

...