Data Science Academy · Lezione

Ricampionare su base giornaliera o mensile

Raggruppare il tempo in intervalli più ampi.

Lezione 3 di 413 passaggi

Ricampionare su base giornaliera o mensile è una lezione Data Science Academy gratuita su CoddyKit. Questa è la lezione 3 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 Data Science Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Data Science Academy include 4 lezioni in totale.

Troppi dettagli per riuscire a vedere

I dati al secondo o al minuto sono rumorosi. Spesso servono davvero i totali giornalieri o mensili. Il ricampionamento raggruppa i timestamp dettagliati in intervalli più ampi. 📊

Prima di tutto, un indice datetime

resample opera sul tempo. Quindi il primo passaggio consiste nel rendere la colonna datetime il proprio indice con set_index.

df = df.set_index("date")

Ecco resample

Il metodo resample raggruppa le righe in base a una regola temporale, proprio come groupby, ma per le date. Poi si sceglie come combinare ogni intervallo.

df.resample("D")  # group by day

Totali giornalieri

Usi la regola "D" per i giorni, quindi calcoli la somma. In questo modo molti timestamp vengono ridotti a un unico valore ordinato per ogni giorno.

daily = df.resample("D")["sales"].sum()

Riepiloghi mensili

Imposti la regola su "ME" per la fine del mese e ottieni una riga per ogni mese. Lo stesso schema, con intervalli più ampi.

monthly = df.resample("ME")["sales"].sum()

Le regole sono flessibili

La stringa della frequenza determina tutto: "W" per le settimane, "h" per le ore, "YE" per la fine dell'anno. Una sola lettera cambia l'intera visualizzazione.

df.resample("W")["sales"].sum()  # weekly

Scelga l'aggregazione

La somma non è l'unica opzione. Sostituiscala con mean, max o count per ottenere risposte diverse dagli stessi intervalli.

df.resample("D")["temp"].mean()

Più statistiche insieme

Passi un elenco ad agg per ottenere più riepiloghi per intervallo in un'unica tabella ordinata.

df.resample("ME").agg(["sum", "mean"])

Downsampling e upsampling

Passare a un intervallo più ampio si chiama downsampling. Passare a uno più dettagliato, ad esempio dai giorni alle ore, si chiama upsampling e crea intervalli vuoti da riempire.

df.resample("h").asfreq()  # upsample

Riempire i nuovi intervalli vuoti

Quando esegue l'upsampling, le nuove righe inizialmente sono vuote. Usi ffill per propagare in avanti l'ultimo valore noto.

df.resample("h").ffill()

Livellare e poi tracciare

Le serie ricampionate si prestano benissimo ai grafici perché il rumore è scomparso. Una linea mensile racconta una tendenza che un flusso di dati grezzi non potrebbe mai mostrare.

monthly.plot()

Controllo rapido

Dispone di letture al minuto, ma desidera una sola media per ogni giorno.

Riepilogo: rimodellare il tempo

Con un indice datetime ha usato resample per raggruppare i dati per giorni, settimane o mesi, ha scelto un'aggregazione e ha gestito gli intervalli vuoti creati dall'upsampling con ffill. ⏳

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
30
Lezioni
120

Domande Frequenti

La lezione «Ricampionare su base giornaliera o mensile» è gratuita?

Sì — il testo completo di «Ricampionare su base giornaliera o mensile» è 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 Data Science Academy, passa a CoddyKit PRO. Il corso Data Science Academy include 4 lezioni in totale.

Cosa imparerò in «Ricampionare su base giornaliera o mensile»?

Raggruppare il tempo in intervalli più ampi. Eserciti Data Science Academy 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 Data Science Academy?

Non è richiesta alcuna esperienza precedente. Data Science Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Ricampionare su base giornaliera o mensile»?

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 Data Science Academy?

Sì. Ogni lezione Data Science Academy 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. Analizzare stringhe come datetime
  2. Estrarre anno, mese e giorno della settimana
  3. Ricampionare su base giornaliera o mensile
  4. Fusi orari e intervalli di date
← Torna a Data Science Academy