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