Панды: как посчитать совокупную сумму на группу


Вы можете использовать следующий синтаксис для расчета совокупной суммы для каждой группы в пандах:

 df[' cumsum_col '] = df. groupby ([' col1 '])[' col2 ']. cumsum ()

Эта конкретная формула вычисляет совокупную сумму col2 , сгруппированную по col1 , и отображает результаты в новом столбце с названием cumsum_col .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: рассчитать совокупную сумму на группу в Pandas

Допустим, у нас есть следующий DataFrame pandas, который содержит информацию о продажах для различных магазинов:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' sales ': [4, 7, 10, 5, 8, 9, 12, 15, 10, 8]})

#view DataFrame
print (df)

  blind sales
0 to 4
1 to 7
2 to 10
3 to 5
4 to 8
5 B 9
6 B 12
7 B 15
8 B 10
9 B 8

Мы можем использовать следующий синтаксис для расчета совокупной суммы продаж для каждого магазина:

 #add column that shows cumulative sum of sales by store
df[' cumsum_sales '] = df. groupby ([' store '])[' sales ']. cumsum ()

#view updated DataFrame
print (df)

  store sales cumsum_sales
0 to 4 4
1 to 7 11
2 to 10 21
3 to 5 26
4 to 8 34
5 B 9 9
6 B 12 21
7 B 15 36
8 B 10 46
9 B 8 54

В столбце cumsum_sales отображаются совокупные продажи, сгруппированные по каждому магазину.

Примечание . Полную документацию по функции cumsum в pandas можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как суммировать определенные столбцы в Pandas
Как суммировать столбцы на основе условия в Pandas
Как рассчитать обратную накопительную сумму в пандах

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *