Anonymous
Polars – разблокировать фрейм данных на основе значения столбца
Сообщение
Anonymous » 02 ноя 2025, 17:49
Я пытаюсь выполнить следующую операцию
Входные данные:
Код: Выделить всё
import polars as pl
df = pl.DataFrame({
"left": ["One", "One", "One", "One", "Two"],
"center": ["P", "P", "I", "I", "I"],
"right": [100, 100, 100, 100, 100]
})
Код: Выделить всё
shape: (5, 3)
┌──────┬────────┬───────┐
│ left ┆ center ┆ right │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ i64 │
╞══════╪════════╪═══════╡
│ One ┆ P ┆ 100 │
│ One ┆ P ┆ 100 │
│ One ┆ I ┆ 100 │
│ One ┆ I ┆ 100 │
│ Two ┆ I ┆ 100 │
└──────┴────────┴───────┘
Ожидаемый результат:
Код: Выделить всё
shape: (2, 3)
┌──────┬─────┬─────┐
│ left ┆ P ┆ I │
│ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ i64 │
╞══════╪═════╪═════╡
│ One ┆ 200 ┆ 200 │
│ Two ┆ 0 ┆ 100 │
└──────┴─────┴─────┘
В пандах мы используем
Код: Выделить всё
(df.to_pandas()
.groupby(["left", "center"])["right"]
.sum()
.unstack(fill_value=0)
)
Однако я не могу повторить это в полярах? есть предложения?
Подробнее здесь:
https://stackoverflow.com/questions/780 ... lumn-value
1762094967
Anonymous
Я пытаюсь выполнить следующую операцию Входные данные: [code]import polars as pl df = pl.DataFrame({ "left": ["One", "One", "One", "One", "Two"], "center": ["P", "P", "I", "I", "I"], "right": [100, 100, 100, 100, 100] }) [/code] [code]shape: (5, 3) ┌──────┬────────┬───────┐ │ left ┆ center ┆ right │ │ --- ┆ --- ┆ --- │ │ str ┆ str ┆ i64 │ ╞══════╪════════╪═══════╡ │ One ┆ P ┆ 100 │ │ One ┆ P ┆ 100 │ │ One ┆ I ┆ 100 │ │ One ┆ I ┆ 100 │ │ Two ┆ I ┆ 100 │ └──────┴────────┴───────┘ [/code] Ожидаемый результат: [code]shape: (2, 3) ┌──────┬─────┬─────┐ │ left ┆ P ┆ I │ │ --- ┆ --- ┆ --- │ │ str ┆ i64 ┆ i64 │ ╞══════╪═════╪═════╡ │ One ┆ 200 ┆ 200 │ │ Two ┆ 0 ┆ 100 │ └──────┴─────┴─────┘ [/code] В пандах мы используем [code](df.to_pandas() .groupby(["left", "center"])["right"] .sum() .unstack(fill_value=0) ) [/code] Однако я не могу повторить это в полярах? есть предложения? Подробнее здесь: [url]https://stackoverflow.com/questions/78010952/polars-unstack-dataframe-based-on-column-value[/url]