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