Panda's: hoe bereken je de cumulatieve som per groep


Je kunt de volgende syntaxis gebruiken om een cumulatief bedrag per groep in panda’s te berekenen:

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

Deze specifieke formule berekent de cumulatieve som van col2 , gegroepeerd op col1 , en geeft de resultaten weer in een nieuwe kolom met de naam cumsum_col .

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: bereken het cumulatieve bedrag per groep in Panda’s

Laten we zeggen dat we het volgende panda’s DataFrame hebben dat verkoopinformatie voor verschillende winkels bevat:

 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

We kunnen de volgende syntaxis gebruiken om de cumulatieve som van de verkopen voor elke winkel te berekenen:

 #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

In de kolom cumsum_sales wordt de cumulatieve omzet weergegeven, gegroepeerd op elke winkel.

Opmerking : u kunt hier de volledige documentatie van de cumsum- functie in panda’s vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Hoe specifieke kolommen in Panda’s op te tellen
Hoe kolommen op te tellen op basis van een voorwaarde in Pandas
Hoe een omgekeerde cumulatieve som in panda’s te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert