Panda: come calcolare il cumulato per gruppo


È possibile utilizzare la seguente sintassi per calcolare una somma cumulativa per gruppo in panda:

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

Questa particolare formula calcola la somma cumulativa di col2 , raggruppata per col1 , e visualizza i risultati in una nuova colonna denominata cumsum_col .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: calcolare la somma cumulativa per gruppo in Panda

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sulle vendite per vari negozi:

 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

Possiamo utilizzare la seguente sintassi per calcolare la somma cumulativa delle vendite per ciascun negozio:

 #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

La colonna cumsum_sales mostra le vendite cumulative, raggruppate per ciascun negozio.

Nota : puoi trovare la documentazione completa della funzione cumsum in panda qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come sommare colonne specifiche in Pandas
Come sommare le colonne in base a una condizione in Pandas
Come calcolare una somma cumulativa inversa in panda

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *