Come selezionare o filtrare le righe basate sulla data di dati in panda?
Innanzitutto, convertiremo il tipo di dati dei valori basati sui dati in datetime64; Quindi, useremo altri metodi (come Data -Fame.loc []) per selezionare o filtrare le date basate tra due date. Inizialmente, le date di dati possono essere fornite o rappresentate in vari modi, come stringhe, NP.DateTime64 e DateTime.appuntamento. Usando il PD.al metodo DateTime () in Panda, possiamo manipolare le date convertendo il tipo di dati della data in formato DateTime64.
Sintassi:
Parametri:
Arg: Può essere fluttuante, elenco, stringa, intero o telaio da data da convertire in datetime.
errori: Il valore può essere specificato come aumento, costringere o ignorare. Quando un dizionario come un mapper, colonne o righe contiene etichette che sono assenti dall'indice che vengono convertiti, sollevare un keyerror se viene utilizzato "sollevare". Impostato per ignorare per impostazione predefinita.
DayFirst: Impostare come falso per impostazione predefinita. Se vero, il valore booleano pone dayfirst.
Anno First: Se vero, il valore booleano pone l'anno. False è il valore predefinito;
UTC: Valore limitato. Visualizza lo standard di tempo primario di tempo attuale (UTC) se vero.
formato: La posizione dell'anno, del mese e della giornata è determinata tramite un input di stringa. Non è nessuno per impostazione predefinita
Infer_datetime_formatbool: Se viene specificato il vero e nessun formato, prova a dedurre il formato stringa data/ora dal primo elemento che non è nullo. False è il valore predefinito.
Negli esempi del tutorial, impiegheremo la seguente strategia per scegliere le informazioni dalle righe basate sulle date nel telaio di dati tra due date:
Esempio n. 1: valori basati sulle date del filtro utilizzando DataFrame.Loc [] funzione
Filterremo i dati basati sulle date utilizzando il "data frame.Loc [] "funzione. Per accedere a un gruppo di colonne e righe di un telaio di dati tramite il nome di colonne, indici o un array booleano, viene utilizzata la funzione "loc []". L'espressione condizionale nella variabile Loc [] in questo esempio restituisce un array booleano con un valore reale se la riga soddisfa la condizione e un falso se la condizione non soddisfa. Solo quelle righe con valori reali vengono restituite utilizzando il metodo LOC []. Creiamo prima un frame dati per comprendere chiaramente questo esempio.
Abbiamo creato un frame dati passando un dizionario all'interno del PD.Funzione DataFrame () dopo l'importazione dei moduli Pandas. Nel nostro frame dati, ci sono due colonne i cui nomi sono specificati come "compiti" e "data". La colonna "Task" è costituita da dati interi (3, 2, 6, 1, 4, 5, 2, 1, 3, 4) e la colonna "Data" è costituita da valori di stringa basati su date ("2022-01- 05 "," 2022-01-15 "," 2022-02-01 "," 2022-02-10 "," 2022-03-20 "," 2022-03-30 "," 2022-04-12 " , "2022-04-24", "2022-05-15", "2022-05-25"). Per visualizzare il nostro frame dati, useremo la funzione print ().
Ora controlliamo il tipo di dati delle nostre colonne utilizzando l'attributo "dtypes".
Come si può notare, il tipo di dati della colonna "Attività" è int64, ma la colonna "Data" ha il tipo di dati di "Oggetto". Come accennato in precedenza, dobbiamo convertire il tipo di dati delle colonne con le date a DateTime64. Per modificare il tipo di dati della colonna "date", verrà utilizzato il metodo To_Datetime ().
Abbiamo superato la colonna "Data" nella funzione TO_DateTime () come argomento e specificato il formato come anni-mese. Dopo aver modificato il tipo di dati della colonna "Data", l'abbiamo assegnato alla colonna "Data" del nostro frame dati "DF". Utilizzando l'attributo DTypes, possiamo verificare se il tipo di dati viene modificato in "DateTime64" o no.
Poiché il tipo di dati è stato modificato ora, possiamo utilizzare il metodo LOC [] per filtrare le righe richieste.
All'interno del DF.Loc [] Metodo, abbiamo creato un'espressione/condizione per selezionare solo quelle righe in cui la data è maggiore o uguale a "22-02-01" e meno di "2022-04-24". Quindi, le righe dall'indice da 2 a 6 sono soddisfatte dalla condizione come mostrato nell'output.
Esempio n. 2: valori basati su date del filtro che utilizzano attributi diversi con dati di dati.Loc [] funzione
Nell'esempio n. 1, abbiamo filtrato le righe basate sulle date usando la funzione LOC []. In questo esempio, useremo attributi diversi con la funzione loc [] per selezionare righe basate su date specifiche.
Il primo passo sarà lo stesso; Convertiremo il tipo di dati della colonna "Data" in "DateTime64" utilizzando la funzione TO_DATETIME ().
Dopo aver modificato il tipo di dati in "DateTime64", useremo la funzione LOC [] per selezionare le righe tra due date.
Abbiamo creato una condizione per selezionare i dati entro le date che sono uguali o superiori a "2022-04-10" e meno di "2022-06-15". Abbiamo ottenuto quattro righe con date ("2022-04-12", "2022-04-24", "2022-05-15" e "2022-05-25") che soddisfacevano la condizione. Possiamo filtrare ulteriormente l'output per un orario specifico, data, settimana, mese, anno, ecc., Utilizzando DateTime ".Attributo dt "con il frame dati.Loc [] Metodo. Supponiamo che dobbiamo selezionare la riga con la data "15" dall'output recentemente generato del telaio di dati "DF" con quattro righe.
Abbiamo specificato il DT.day == 15 per recuperare i dati memorizzati nella riga con la data "15". Abbiamo ottenuto la riga "indice 8" come output perché la data è 15 in quella riga. Ora usiamo il ".tra "attributo per selezionare righe specifiche tra due date nel nostro telaio (creato nell'esempio n. 1).
Usando il ".Tra () tra () ", abbiamo specificato le date tra" 2022-01-15 "e" 2022-03-30 "per generare l'output.
Esempio n. 3: valori basati su date filtrati utilizzando il .funzione query ()
Ora vedremo come il frame dati.La funzione query () funziona per selezionare righe basate su date specifiche dal gesto dati. In questo esempio, verrà utilizzato lo stesso frame di dati "DF", che abbiamo creato nell'esempio n. 1. Innanzitutto, convertiremo il tipo di dati della colonna "Data" in "DateTime64" come abbiamo fatto negli esempi precedenti.
Ora useremo la funzione query () per selezionare le righe tra le date.
La condizione all'interno della query (), come visualizzato sopra, è selezionare i dati all'interno delle date che sono uguali o superiori a "2021-12-30" e meno di "2022-01-15". Per impostazione predefinita, le colonne di DataFrame vengono inserite nello spazio dei nomi delle query, consentendo l'accesso alla colonna Data senza specificare il nome della colonna.
Queste sono le righe che hanno dati entro le date che soddisfano la condizione.
Conclusione
In questo tutorial, abbiamo discusso di come selezionare le righe basate sulle date tra le date nei panda. Abbiamo visto la sintassi dei panda.funzione to_datetime (), che abbiamo usato per convertire il tipo di dati della colonna basata su date in datetime64. Abbiamo implementato esempi per insegnarti come utilizzare i dati di dati.funzione loc [], come utilizzare attributi diversi con dati di dati.funzione loc [] e come usare il .funzione query () per selezionare i dati da righe basate su date tra due date.