Come calcolare una media cumulativa in python


Una media cumulativa ci dice la media di una serie di valori fino a un certo punto.

È possibile utilizzare la seguente sintassi per calcolare la media cumulativa dei valori in una colonna di un DataFrame panda:

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

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

Esempio: calcola la media cumulativa in Python

Supponiamo di avere il seguente DataFrame panda che mostra le vendite totali effettuate da un negozio per 16 giorni consecutivi:

 import pandas as pd
import numpy as np

#createDataFrame
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

Possiamo utilizzare la seguente sintassi per calcolare la media corrente della colonna delle vendite:

 #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

Interpreteremmo i valori medi cumulativi come:

  • La media cumulativa del valore delle prime vendite è 3 .
  • La media cumulativa dei primi due valori di vendita è 4,5 .
  • La media cumulativa dei primi tre valori di vendita è 3 .
  • La media cumulativa dei primi quattro valori di vendita è 2,75 .

E così via.

Tieni presente che puoi anche utilizzare il seguente codice per aggiungere i valori di vendita medi cumulativi come una nuova colonna nel 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 colonna cum_avg_sales mostra la media cumulativa dei valori nella colonna “vendite”.

Risorse addizionali

I seguenti tutorial spiegano come calcolare altre metriche comuni in Python:

Come calcolare una media troncata in Python
Come calcolare la media geometrica in Python
Come calcolare le medie mobili in Python

Aggiungi un commento

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