Получите сгруппированную сумму в полярах, но сохраните все отдельные строки [дубликат]Python

Программы на Python
Ответить
Anonymous
 Получите сгруппированную сумму в полярах, но сохраните все отдельные строки [дубликат]

Сообщение Anonymous »

Ломаю голову над этим, наверное, довольно простым вопросом и нигде не могу найти ответа. Я хочу создать новый столбец с сгруппированной суммой другого столбца, но хочу сохранить все отдельные строки. Итак, вот что говорят документы:

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

import polars as pl

df = pl.DataFrame(
{
"a": ["a", "b", "a", "b", "c"],
"b": [1, 2, 1, 3, 3],
}
)

df.group_by("a").agg(pl.col("b").sum())
Результатом этого будет:

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

shape: (3, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ i64 │
╞═════╪═════╡
│ a   ┆ 2   │
│ c   ┆ 3   │
│ b   ┆ 5   │
└─────┴─────┘
Однако мне нужно следующее:

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

shape: (5, 3)
┌─────┬─────┬────────┐
│ a   ┆ b   ┆ sum(b) │
│ --- ┆ --- ┆ ------ │
│ str ┆ i64 ┆ i64    │
╞═════╪═════╪════════╡
│ a   ┆ 1   ┆ 2      │
│ b   ┆ 2   ┆ 5      │
│ a   ┆ 1   ┆ 2      │
│ b   ┆ 3   ┆ 5      │
│ c   ┆ 3   ┆ 3      │
└─────┴─────┴────────┘
Я мог бы создать сумму в отдельном файле df, а затем объединить ее с исходной, но я почти уверен, что есть более простое решение.

Подробнее здесь: https://stackoverflow.com/questions/795 ... idual-rows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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