Serie temporali in Pandas
DatetimeIndex, resample(), rolling(), shift(), generazione di intervalli di date e ricampionamento.
Serie temporali in Pandas è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Il tempo in pandas
pandas offre un supporto completo per le date e le ore. Convertire le stringhe in timestamp e indicizzare in base al tempo permette di eseguire ricampionamenti, usare finestre mobili e creare feature ritardate.
Analisi con to_datetime
pd.to_datetime converte stringhe o numeri in oggetti Timestamp appropriati, riconoscendo automaticamente la maggior parte dei formati comuni.
import pandas as pd
d = pd.to_datetime(["2026-01-01", "2026-01-05", "2026-02-10"])
print(d)
print(d.dtype) # datetime64[ns]Generazione di date con date_range
pd.date_range costruisce una sequenza equidistante di timestamp. Il codice freq controlla l’intervallo: D per i giorni, H per le ore, M per la fine del mese e così via.
rng = pd.date_range("2026-01-01", periods=5, freq="D")
print(rng)
# 2026-01-01 ... 2026-01-05Creazione di un DatetimeIndex
Impostare una colonna datetime come indice crea un DatetimeIndex, che abilita la selezione consapevole del tempo e gli strumenti resample/rolling.
ts = pd.Series([10, 12, 9, 15, 11],
index=pd.date_range("2026-01-01", periods=5, freq="D"))
print(ts)Selezione con stringhe di data parziali
Con un DatetimeIndex è possibile selezionare i dati usando date parziali: una stringa contenente un anno o un mese seleziona tutte le righe corrispondenti.
monthly = pd.Series(range(60),
index=pd.date_range("2026-01-01", periods=60, freq="D"))
print(monthly["2026-02"].head()) # all of FebruaryRiduzione della frequenza con resample
resample è un groupby per il tempo. Riduca i dati a una frequenza più bassa, quindi li aggreghi, ad esempio trasformando dati giornalieri in somme settimanali.
weekly = monthly.resample("W").sum()
print(weekly.head())Aumento della frequenza e riempimento
Il ricampionamento a una frequenza PIÙ ALTA crea dei valori mancanti. Lo combini con .ffill() per propagare in avanti l’ultimo valore.
hourly = ts.resample("12H").ffill()
print(hourly.head())Finestre mobili
rolling(window) calcola una statistica su una finestra scorrevole ed è alla base delle medie mobili che rendono più regolari le serie rumorose.
roll = monthly.rolling(window=7).mean()
print(roll.head(10)) # first 6 are NaN (not enough history)Varianti delle finestre mobili
Qualsiasi riduzione può essere applicata a una finestra mobile: mean, sum, std, min, max. Una std mobile su 7 giorni misura la volatilità recente.
vol = monthly.rolling(7).std()
print(vol.tail())Creazione di ritardi con shift
shift(n) sposta i valori in avanti di n periodi, creando feature ritardate e permettendo di calcolare le variazioni tra periodi.
df = pd.DataFrame({"sales": [100, 110, 105, 130]})
df["prev"] = df["sales"].shift(1)
df["pct_change"] = (df["sales"] - df["prev"]) / df["prev"]
print(df)Estrazione delle componenti della data
L’accessor .dt espone componenti come year, month e dayofweek, utili come feature per i modelli.
s = pd.Series(pd.date_range("2026-01-01", periods=3, freq="D"))
print(s.dt.dayofweek) # 0=Monday
print(s.dt.month)Verifica rapida
Verifichi le Sue conoscenze sulle serie temporali.
Riepilogo
Strumenti per le serie temporali:
pd.to_datetimeper analizzare le date,pd.date_rangeper generarle- Un
DatetimeIndexabilita la selezione tramite stringhe parziali resample(freq).agg()per aumentare o ridurre la frequenzarolling(window)per le statistiche mobilishift(n)per i ritardi;.dtper le componenti della data
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 53
- Lezioni
- 225
Domande Frequenti
La lezione «Serie temporali in Pandas» è gratuita?
Sì — il testo completo di «Serie temporali in Pandas» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Serie temporali in Pandas»?
DatetimeIndex, resample(), rolling(), shift(), generazione di intervalli di date e ricampionamento. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Serie temporali in Pandas»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- GroupBy e aggregazione
- Tabelle pivot e tabelle di contingenza
- Merge e join avanzati
- Serie temporali in Pandas