Comment calculer une moyenne cumulative en Python



Une moyenne cumulative nous indique la moyenne d’une série de valeurs jusqu’à un certain point.

Vous pouvez utiliser la syntaxe suivante pour calculer la moyenne cumulée des valeurs dans une colonne d’un DataFrame pandas :

df['column_name'].expanding().mean()

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

Exemple : calculer la moyenne cumulée en Python

Supposons que nous ayons le DataFrame pandas suivant qui montre les ventes totales réalisées par un magasin pendant 16 jours consécutifs :

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'day': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
                   'sales': [3, 6, 0, 2, 4, 1, 0, 1, 4, 7, 3, 3, 8, 3, 5, 5]})

#view first five rows of DataFrame
df.head()

	day	sales
0	1	3
1	2	6
2	3	0
3	4	2
4	5	4

Nous pouvons utiliser la syntaxe suivante pour calculer la moyenne cumulée de la colonne des ventes :

#calculate average of 'sales' column
df['sales'].expanding().mean()

0     3.000000
1     4.500000
2     3.000000
3     2.750000
4     3.000000
5     2.666667
6     2.285714
7     2.125000
8     2.333333
9     2.800000
10    2.818182
11    2.833333
12    3.230769
13    3.214286
14    3.333333
15    3.437500
Name: sales, dtype: float64

Nous interpréterions les valeurs moyennes cumulées comme :

  • La moyenne cumulée de la valeur des premières ventes est de 3 .
  • La moyenne cumulée des deux premières valeurs de ventes est de 4,5 .
  • La moyenne cumulée des trois premières valeurs de ventes est de 3 .
  • La moyenne cumulée des quatre premières valeurs de ventes est de 2,75 .

Et ainsi de suite.

Notez que vous pouvez également utiliser le code suivant pour ajouter les valeurs de ventes moyennes cumulées en tant que nouvelle colonne dans le DataFrame :

#add cumulative average sales as new column
df['cum_avg_sales'] = df['sales'].expanding().mean()

#view updated DataFrame
df

	day	sales	cum_avg_sales
0	1	3	3.000000
1	2	6	4.500000
2	3	0	3.000000
3	4	2	2.750000
4	5	4	3.000000
5	6	1	2.666667
6	7	0	2.285714
7	8	1	2.125000
8	9	4	2.333333
9	10	7	2.800000
10	11	3	2.818182
11	12	3	2.833333
12	13	8	3.230769
13	14	3	3.214286
14	15	5	3.333333
15	16	5	3.437500

La colonne cum_avg_sales affiche la moyenne cumulée des valeurs de la colonne « ventes ».

Ressources additionnelles

Les didacticiels suivants expliquent comment calculer d’autres métriques courantes en Python :

Comment calculer une moyenne tronquée en Python
Comment calculer la moyenne géométrique en Python
Comment calculer les moyennes mobiles en Python

Ajouter un commentaire

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