Learn AI with Python · Lezione

Serie temporali in Pandas

DatetimeIndex, resample(), rolling(), shift(), generazione di intervalli di date e ricampionamento.

Lezione 4 di 413 passaggi

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-05

Creazione 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 February

Riduzione 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_datetime per analizzare le date, pd.date_range per generarle
  • Un DatetimeIndex abilita la selezione tramite stringhe parziali
  • resample(freq).agg() per aumentare o ridurre la frequenza
  • rolling(window) per le statistiche mobili
  • shift(n) per i ritardi; .dt per le componenti della data
Gratis per iniziare

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

  1. GroupBy e aggregazione
  2. Tabelle pivot e tabelle di contingenza
  3. Merge e join avanzati
  4. Serie temporali in Pandas
← Torna a Learn AI with Python