Hai mai avuto bisogno di smussare i tuoi dati per vedere meglio le tendenze?

In questa micro-lezione vedremo come utilizzare la funzione rolling() che ci permette di calcolare la media mobile con Python e pandas.

Cosa รจ la media mobile

La media mobile รจ una serie di medie di diversi sottoinsiemi del nostro set di dati. รˆ come una "media che si muove" nel tempo.

Per esempio, se hai i prezzi giornalieri di un'azione per 10 giorni e vuoi calcolare una media mobile a 3 giorni, prenderai:

  • La media dei giorni 1-2-3

  • Poi la media dei giorni 2-3-4

  • Poi la media dei giorni 3-4-5

  • โ€ฆ e cosรฌ via

Questo metodo aiuta a identificare la tendenza generale dei dati, riducendo le fluttuazioni quotidiane (il "rumore").

Le librerie e il dataframe

Importiamo le librerie necessarie:

import pandas as pd
import numpy as np

Adesso creiamo un dataframe (puoi omettere questo passaggio se hai giร  un set di dati su cui stai lavorando):

date = pd.date_range(start='2023-01-01', end='2023-01-10')
vendite = [100, 120, 80, 110, 90, 95, 130, 115, 105, 125]

df = pd.DataFrame({'Data': date, 'Vendite': vendite})

Il nostro dataframe iniziale apparirร  cosรฌ:

Calcoliamo la media mobile

Inseriamo una nuova colonna nella quale calcoliamo la media mobile su 3 giorni dei valori delle colonna โ€œVenditeโ€.

df['Media_Mobile_3g'] = df['Vendite'].rolling(window=3).mean()

Ed ecco qui il nostro dataframe:

โ

Attenzione!

Le prime due righe della colonna โ€œMedia_Mobile_3gโ€ sono dei valori nulli. Infatti, per calcolare la media mobile su 3 giorni, abbiamo bisogno di almeno 3 valori.

E se invece volessimo calcolare la media mobile su 5 giorni? Ecco come fare:

df['Media_Mobile_5g'] = df['Vendite'].rolling(window=5).mean()

Ecco come apparirร  il nostro dataframe:

Come puoi vedere, la media mobile su 5 giorni inizia solo dalla quinta riga in poi.

Conclusione

La funzione rolling() di pandas ci permette di calcolare la media mobile dei nostri dati. Questo strumento รจ particolarmente utile per smussare le fluttuazioni a breve termine e evidenziare le tendenze a lungo termine.

La scelta della finestra per la media mobile (3 giorni, 5 giorni, ecc.) dipende dai tuoi dati e dall'analisi che stai conducendo. Sperimentare con diverse finestre puรฒ aiutarti a trovare il giusto equilibrio tra smussamento e reattivitร  ai cambiamenti.

Alla prossima micro-lezione ๐Ÿ‘‹ย