Панди: як розрахувати сукупну суму на групу


Ви можете використовувати такий синтаксис, щоб обчислити кумулятивну суму для групи в pandas:

 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
Як розрахувати зворотну кумулятивну суму в pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *