“I dati delle serie temporali devono spesso essere compilati o riassunti utilizzando un nuovo lasso di tempo. Questi dati delle serie temporali vengono generalmente elaborati utilizzando Pandas “DataFrame.Resample () "funzione. È un approccio pratico per il ricampionamento delle serie temporali e la conversione delle frequenze."
Per utilizzare questo metodo, dobbiamo seguire la sintassi indicata di seguito:
Esamineremo l'esecuzione pratica del metodo "Resample ()" con diverse tecniche in questa guida.
Esempio n. 1: utilizzando il metodo Resample () per calcolare la somma
Per il ricampionamento dei dati delle serie temporali, utilizzeremo il metodo Pandas "Resample ()". Vedremo l'esecuzione dello script Python per ricampionando i dati delle serie temporali per la ricerca di frequenze nei giorni specificati.
Il primo e fondamentale requisito è uno strumento o un software che ci fornisce un ambiente per compilare ed eseguire il programma. Abbiamo selezionato lo strumento Spyder per l'implementazione dei codici di esempio. Abbiamo aperto l'interfaccia Spyder; un nuovo file con il ".È stata lanciata l'estensione Py ". Ora inizia a scrivere la sceneggiatura di Python.
Il requisito per eseguire lo script qui è la libreria "panda". Questo perché il metodo "Resample ()" è un metodo Pandas. Per poterlo utilizzare nello script, dobbiamo prima importare la libreria che la sta tenendo. Quindi, abbiamo caricato la libreria Pandas nel nostro file Python e fatto "PD" da usare come alias di "Panda" durante il programma.
Il codice avviato invocando il "PD.funzione date_range () ". Genererà un intervallo di date con i limiti forniti. Stiamo creando un intervallo di date perché il metodo Pandas “Resample ()” funziona nella serie Date_Time. Tra le staffe della funzione, abbiamo definito una data come "2022/2/3". Questo è il valore iniziale dell'intervallo di date. Il secondo parametro, "periodo", definirà il numero di una tupla per la data per la quale abbiamo specificato "15", quindi l'intervallo di date parte da "2022/2/3" e va a 15 tuple. Qui la frequenza è "d" che significa "giorno" per impostazione predefinita. Quindi, gli intervalli verranno generati sulla base dei giorni. Il "PD.Il metodo Date_Range () ”creerà un intervallo di date di 15 giorni. Per salvare l'intervallo della data di output, abbiamo inizializzato una variabile "index_col". Ora possiamo accedere all'intervallo di date menzionando questa variabile.
Dopodiché, dobbiamo costruire un telaio di dati Panda. Per la costruzione di un frame dati con valori definiti dall'utente, i panda ci forniscono una funzione “PD.DataFrame () ". Abbiamo chiamato questo metodo nel nostro programma e lo inizializzato con 3 colonne "strane", "pari" e "prime". I valori definiti per ciascuna colonna sono della stessa lunghezza, che è 15.
La prima colonna, "dispari", tiene in mano numeri dispari come valori. Questi valori sono "1", "3", "5", "7", "9", "11", "13", "15", "17", "19", "21", "23" , "25", "27" e "29". Anche i numeri sono archiviati nella colonna "pari" come "2", "4", "6", "8", "10", "12", "14", "16", "18", "20" , "22", "24", "26", "28" e "30". Mentre l'ultima colonna, "Prime", sta avendo i primi 15 numeri primi come valori: "1", "2", "3", "5", "7", "11", "13", "17" , "19", "23", "29", "31", "37", "41" e "47".
Subito dopo aver definito i valori per tutte le colonne nel "PD.Metodo DataFrame () ", abbiamo anche impostato la nostra colonna indice. Lo abbiamo fatto utilizzando la proprietà "indice" del frame dati e assegnandolo la variabile "index_col", che sta trattenendo la serie di intervalli di date. Ciò significa che stiamo impostando l'intervallo di date come colonna indice del nostro frame dati anziché l'elenco dell'indice predefinito. L'oggetto "Numeri" preserverà il risultato che verrà generato quando invoceremo il "PD.Funzione DataFrame () ". Il frame dati viene infine visualizzato utilizzando il metodo "Print ()". Questo metodo mostra semplicemente tutto ciò che è fornito come input in esso. Abbiamo inserito l'oggetto "numeri" per mostrarlo sul terminale.
Il programma eseguito genera un output in cui possiamo vedere un frame dati ha 3 colonne, "dispari", "pari" e "prime", mentre la colonna indice ha un intervallo di date che inizia da "2022-02-03" e termina A "2022-02-17", creando un intervallo di 15 giorni.
Ora eseguiremo il ricampionamento su questo frame dati. I PANDAS “Resample ()” funzionano con DateTimeIndex. Questo metodo prende i dati delle serie temporali come input e trasforma questi dati delle serie temporali in diverse frequenze definite.
Per questa illustrazione, cambieremo la frequenza di DateTimeIndex da un intervallo di 1 giorno a un intervallo di 2 giorni. Abbiamo invocato il "PD.ricampioni ().Sum () "Metodo. Il metodo "Resample ()" dichiarerà la frequenza, mentre la funzione "Sum ()" calcolerà la somma dei giorni per la frequenza fornita. Abbiamo fornito il nome di DataFrame come "numeri" con ".ricampioni ().Sum () "Metodo.
La "regola" del parametro viene passata nel metodo "Resample ()" e il suo valore è impostato su "2D", il che significa creare la frequenza di un intervallo di 2 giorni e quindi calcolare la somma dei valori nel frame dati per 2 giorni consecutivi. Il telaio dati ricampionato risultante verrà salvato nella variabile "due_days". Infine, l'abbiamo presentato sullo schermo usando la funzione "Print ()".
Qui l'immagine di output visualizza un telaio di dati riempicato in cui abbiamo 8 record. La frequenza è stata impostata per 2D per DateTimeIndex e la somma dei valori viene calcolata per un intervallo 2D.
Esempio n. 2: utilizzando il metodo Resample () per calcolare la media
La prima dimostrazione ha utilizzato la funzione "Sum ()" per calcolare la somma dei dati ricampionati con la frequenza di 2 giorni. Oltre a calcolare la somma, applichiamo anche altri metodi con il metodo "Resample ()". In questa illustrazione, utilizzeremo la funzione "media ()" per calcolare la media dei dati ricampionati con una frequenza settimanale.
Stiamo utilizzando lo stesso telaio di dati che è stato creato nell'istanza precedente. Il "df.La funzione Resample () "è impiegata con il".Metodo medio () ". Abbiamo invocato il metodo con 2 parametri; "Regola" e "chiuso". Il parametro "regola" richiede la durata del tempo per la conversione necessaria. Dato che vogliamo la conversione nei dati settimanali delle serie temporali, quindi abbiamo inserito "W"; Utilizzato per una settimana. Il secondo parametro, "chiuso", è impostato su "a destra" per impostazione predefinita per la frequenza "W", ma qui l'abbiamo cambiato in "a sinistra". Ciò significa che l'intervallo sul cestino sinistro è inclusivo e l'intervallo sul cestino destro è limitato.
Quindi abbiamo usato il ".funzione media () ", che calcolerà la media dei valori a intervalli settimanali. Il frame dati finale sarà trattenuto dalla variabile "media". La funzione "Print ()" la visualizzerà sulla console Python.
Quando compiliamo il programma Python, otteniamo questo frame dati che contiene solo 3 record. Ha calcolato i valori medi per una settimana in ogni colonna.
Allo stesso modo, possiamo convertire la frequenza in menso il requisito.
Conclusione
I dati delle serie temporali a volte devono essere convertiti in una nuova frequenza. I panda ci forniscono un metodo, “DF.ricampioni () ”, per affrontare questa necessità. Questo articolo ha dimostrato due diversi metodi per ricampilare i dati utilizzando DateTimeIndex. Abbiamo esercitato diverse tecniche per calcolare diversi dati di intervallo. Il primo esempio ha elaborato il calcolo della somma di 2 giorni di frequenza per il ricampionamento dei dati, mentre i 2nd L'esempio è stato effettuato per scoprire la media dei valori sulle basi settimanali. Ogni tecnica viene presentata con un codice di programma di esempio e l'output corrispondente.