Come calcolare la mediana mobile nei panda: con esempi


Una mediana mobile è la mediana di un numero di periodi precedenti in una serie temporale.

Per calcolare la mediana mobile di una colonna in un DataFrame panda, possiamo utilizzare la seguente sintassi:

 #calculate rolling median of previous 3 periods
df[' column_name ']. rolling (3). median ()

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

Esempio: calcolare la mediana mobile di una colonna

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' month ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                   ' leads ': [13, 15, 16, 15, 17, 20, 22, 24, 25, 26, 23, 24],
                   ' sales ': [22, 24, 23, 27, 26, 26, 27, 30, 33, 32, 27, 25]})

#view DataFrame
df

	month sales leads
0 1 13 22
1 2 15 24
2 3 16 23
3 4 15 27
4 5 17 26
5 6 20 26
6 7 22 27
7 8 24 30
8 9 25 33
9 10 26 32
10 11 23 27
11 12 24 25

Possiamo utilizzare la seguente sintassi per creare una nuova colonna contenente la mediana mobile delle “vendite” per i 3 periodi precedenti:

 #calculate 3-month rolling median
df[' sales_rolling3 '] = df[' sales ']. rolling (3). median ()

#view updated data frame
df

	month leads sales sales_rolling3
0 1 13 22 NaN
1 2 15 24 NaN
2 3 16 23 23.0
3 4 15 27 24.0
4 5 17 26 26.0
5 6 20 26 26.0
6 7 22 27 26.0
7 8 24 30 27.0
8 9 25 33 30.0
9 10 26 32 32.0
10 11 23 27 32.0
11 12 24 25 27.0

Possiamo verificare manualmente che le vendite mediane mobili visualizzate per il mese 3 siano la mediana dei 3 mesi precedenti:

  • Mediana di 22, 24, 23 = 23,0

Allo stesso modo, possiamo controllare le vendite mediane mobili per il mese 4:

  • Mediana di 24, 23, 27 = 24,0

Possiamo usare una sintassi simile per calcolare la mediana mobile di 6 mesi:

 #calculate 6-month rolling median
df[' sales_rolling6 '] = df[' sales ']. rolling (6). median ()

#view updated data frame
df

month leads sales sales_rolling3 sales_rolling6
0 1 13 22 NaN NaN
1 2 15 24 NaN NaN
2 3 16 23 23.0 NaN
3 4 15 27 24.0 NaN
4 5 17 26 26.0 NaN
5 6 20 26 26.0 25.0
6 7 22 27 26.0 26.0
7 8 24 30 27.0 26.5
8 9 25 33 30.0 27.0
9 10 26 32 32.0 28.5
10 11 23 27 32.0 28.5
11 12 24 25 27.0 28.5

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come calcolare una media mobile nei panda
Come calcolare la correlazione mobile nei panda
Come calcolare la variazione percentuale nei panda

Aggiungi un commento

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