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