Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
In questo tutorial imparerai come ricampionare i dati delle serie temporali utilizzando Pandas. Puoi guardare il video completo di questo tutorial in fondo a questo blog .
Cos'è questa idea di ricampionamento? Ciò è correlato ai dati delle serie temporali e ciò che faremo è modificare la frequenza con cui tali dati vengono riportati. Ad esempio, modificando il valore annuale in mensile o settimanale o modificando i dati orari in giornalieri. In breve, stiamo cambiando il livello nella gerarchia.
Questo può essere utilizzato per una serie di motivi, come ottenere tendenze più affidabili , dimensioni del campione e stagionalità . In alcuni rapporti, avrà più senso se usiamo un certo livello della gerarchia piuttosto che un altro.
Inoltre, il ricampionamento può essere utile se si dispone di origini dati diverse ed è necessario eseguire l'unione di dati di serie temporali. Questo aiuterà anche quando si ha a che fare con una discrepanza nella gerarchia .
Per scomporre ulteriormente questo aspetto, abbiamo il downsampling e l'upsampling.
Il downsampling consiste nel ridurre la frequenza dei rapporti . Può trattarsi di cose come la conversione da un secondo a un'ora per avere meno valori o il downsampling da un mese all'altro.
D'altra parte, l'upsampling consiste nell'aumentare la frequenza dei rapporti dal livello mensile fino al giorno . Avremo altri esempi di questo più avanti.
Sommario
Come ricampionare i dati delle serie temporali utilizzando i panda
Come lo faremo in Pandas?
Prima di tutto, modificheremo l' indice alla nostra colonna di dati delle serie temporali . Quindi, possiamo eseguire l'upsampling utilizzando l'interpolazione, che riempirà i valori, e possiamo eseguire il downsampling per eseguire il rollup aggregando i valori.
Passiamo a Jupyter Notebook Python e diamo un'occhiata a Pandas.
Per iniziare, utilizzeremo Pandas digitando import pandas as pd , seguito da import seaborn as sns per visualizzarlo e import matplotlib.pyplot as plt per personalizzare la visualizzazione Seaborn .
La prossima cosa da fare è ottenere i dati da vega_datasets import data . È un bel posto per ottenere fonti di esempio. Inoltre, otterremo sp = data.sp500 ( ) e sp.head ( ) library .
Ecco i nostri dati finora. Abbiamo i rendimenti giornalieri e il prezzo per ogni giorno.
Per impostare la colonna index to date, digitare sp.set_index(['date'], inplace=True) quindi richiamare sp.head .
Utilizzo dell'upsampling per ottenere valori
Quindi, per avere più valori, usiamo l'upsampling. Poiché abbiamo i dati per ogni giorno, possiamo scendere all'ora usando la funzione più semplice che è sp [['price']]. resample ('H').ffill ( ) , quindi eseguilo. H sta per ora, M per mese, D per giorno e così via. Puoi saperne di più su questo nella documentazione di Pandas .
Come possiamo vedere, il 1 gennaio a mezzanotte il prezzo è 1394,46, come le ore successive dall'1:00 alle 4:00. Un altro esempio è il 2 gennaio, dove il prezzo di chiusura è 1366,42.
Esistono altri modi per eseguire questa operazione anche se il valore non è disponibile a livello di ora. Inoltre, ci sono modi più sofisticati rispetto al semplice riempimento in avanti . Per il nostro esempio, quello che abbiamo fatto è il modo di base per eseguire l'interpolazione dell'upsampling.
Successivamente, passiamo al downsampling digitando avg_month = sp [['price]].resample ('M').mean ( ) , quindi avg_month.head ( ) ed eseguilo per verificare.
Come illustrato, possiamo vedere l'ultimo giorno di ogni mese e il prezzo medio. Possiamo diminuire i campioni per avere meno valori, o ciò che chiamiamo ridimensionamento.
Per visualizzarlo, digitiamo re-plot le dimensioni disegnate. Quindi, seguito da sns.lineplot . Il grafico a linee funziona meglio con un asse X più lungo, mentre il valore Y è il prezzo medio mensile.
Per vedere il prezzo medio per il mese tracciato, eseguiamo questo.
Ancora una volta, ci sono molti modi diversi in cui possiamo farlo. Ad esempio, se vogliamo conoscere il prezzo più basso per trimestre, tutto ciò che dobbiamo fare è digitare quarter_low , quindi quarter_low.head per eseguirlo.
Quindi, ora possiamo vedere il valore più basso trimestrale trovato in ogni trimestre. Ecco come si esegue un ricampionamento.
Gestione dei dati mancanti in Python utilizzando il metodo di interpolazione
MultiIndex in Panda per set di dati di dati multilivello o gerarchici
in Panda con ProfileReport | Python in LuckyTemplates
Conclusione
Per finire, Pandas è davvero progettato per il ricampionamento e i dati delle serie temporali . Se stai lavorando su dati di serie temporali e hai granularità diverse, il ricampionamento può essere molto utile.
Inoltre, assicurati di leggere la documentazione di Pandas sul metodo resample per imparare molti modi diversi per farlo. Abbiamo esaminato quelli di base, ma puoi fare cose come bisettimanale, l'ultimo giorno lavorativo del mese e più opzioni per il ricampionamento.
Ti auguro il meglio,
Giorgio Monte
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere