Как выполнить накопительную сумму с условным выбором на основе другого столбца в Polars?Python

Программы на Python
Anonymous
 Как выполнить накопительную сумму с условным выбором на основе другого столбца в Polars?

Сообщение Anonymous »

У меня есть DataFrame, и я хочу получить последние голы, забитые командами в этом кластере, чтобы применить ewm_mean(), то есть создать

Код: Выделить всё

EWM_COLUMN
как в примере ниже:

Код: Выделить всё

import polars as pl

pl.Config(tbl_cols=9)

df = pl.read_csv(b"""
Season,Wk,Home,Away,HomeGoals,AwayGoals,Cluster_home,Cluster_away,Cluster_pair_key
2024,27.0,teamA,teamF,3,2,4,1,1_4
2024,27.0,teamB,teamG,1,3,2,2,2_2
2024,27.0,teamC,teamH,1,0,5,3,3_5
2024,27.0,teamD,teamI,0,1,3,1,1_3
2024,27.0,teamE,teamJ,3,0,3,4,3_4
""")
Исходная таблица

Код: Выделить всё

┌────────┬──────┬───────┬───────┬───────────┬───────────┬──────────────┬──────────────┬──────────────────┐
│ Season ┆ Wk   ┆ Home  ┆ Away  ┆ HomeGoals ┆ AwayGoals ┆ Cluster_home ┆ Cluster_away ┆ Cluster_pair_key │
│ ---    ┆ ---  ┆ ---   ┆ ---   ┆ ---       ┆ ---       ┆ ---          ┆ ---          ┆ ---              │
│ i64    ┆ f64  ┆ str   ┆ str   ┆ i64       ┆ i64       ┆ i64          ┆ i64          ┆ str              │
╞════════╪══════╪═══════╪═══════╪═══════════╪═══════════╪══════════════╪══════════════╪══════════════════╡
│ 2024   ┆ 27.0 ┆ teamA ┆ teamF ┆ 3         ┆ 2         ┆ 4            ┆ 1            ┆ 1_4              │
│ 2024   ┆ 27.0 ┆ teamB ┆ teamG ┆ 1         ┆ 3         ┆ 2            ┆ 2            ┆ 2_2              │
│ 2024   ┆ 27.0 ┆ teamC ┆ teamH ┆ 1         ┆ 0         ┆ 5            ┆ 3            ┆ 3_5              │
│ 2024   ┆ 27.0 ┆ teamD ┆ teamI ┆ 0         ┆ 1         ┆ 3            ┆ 1            ┆ 1_3              │
│ 2024   ┆ 27.0 ┆ teamE ┆ teamJ ┆ 3         ┆ 0         ┆ 3            ┆ 4            ┆ 3_4              │
└────────┴──────┴───────┴───────┴───────────┴───────────┴──────────────┴──────────────┴──────────────────┘
Глядя на командуE, я хотел принять во внимание домашние голы команды E, домашние голы команды D и голы на выезде команды C. Я создал столбец Cluster_pair_key_Organized, потому что думал, что он может чем-то помочь.
Новая таблица



Сезон
Неделя
Дома
На выезде
Дома, Голы
На выезде, Голы
Кластер_дома
Кластер_гости
Cluster_pair_key
EWM_COLUMN




2024
27.0
teamA
teamF
3
2
4
1
1_4
3 * 0,8 + ...


2024
27.0
teamB
teamG
1
3
2
2
2_2
1 * 0,8 + ...


2024
27,0
teamC
командаH
1
0
5
3
3_5
0 * 0,8 + ...


2024
27.0
командаD
командаI
0
1
3
1
1_3
0 * 0,8 + 0,2 * 0 + ...


2024
27.0
teamE
командаJ
3
0
3
4
3_4
3 * 0,8 + 0,2 * (0 * 0,8 + 0,2 * 0)




Подробнее здесь: https://stackoverflow.com/questions/791 ... other-colu

Вернуться в «Python»