Pandas : comment calculer la somme cumulée par groupe



Vous pouvez utiliser la syntaxe suivante pour calculer une somme cumulée par groupe dans les pandas :

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

Cette formule particulière calcule la somme cumulée de col2 , regroupée par col1 , et affiche les résultats dans une nouvelle colonne intitulée cumsum_col .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : calculer la somme cumulée par groupe dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les ventes de divers magasins :

import pandas as pd

#create DataFrame
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)

  store  sales
0     A      4
1     A      7
2     A     10
3     A      5
4     A      8
5     B      9
6     B     12
7     B     15
8     B     10
9     B      8

Nous pouvons utiliser la syntaxe suivante pour calculer la somme cumulée des ventes pour chaque magasin :

#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     A      4             4
1     A      7            11
2     A     10            21
3     A      5            26
4     A      8            34
5     B      9             9
6     B     12            21
7     B     15            36
8     B     10            46
9     B      8            54

La colonne cumsum_sales affiche les ventes cumulées, regroupées par chaque magasin.

Remarque : Vous pouvez trouver la documentation complète de la fonction cumsum dans pandas ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment additionner des colonnes spécifiques dans Pandas
Comment additionner des colonnes en fonction d’une condition dans Pandas
Comment calculer une somme cumulée inversée chez les pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *