Filtro panda per valore della colonna

Filtro panda per valore della colonna
Una delle tecniche più popolari per la pulizia dei dati è filtrare i dati da un frame dati. Secondo l'etichetta e la posizione delle colonne e delle righe, Pandas offre una varietà di tecniche o metodi per la selezione dei dati. Inoltre, Pandas consente di filtrare le righe utilizzando l'indicizzazione booleana ed estrarre un sottoinsieme di dati a seconda dei tipi di colonna. I metodi più popolari per estrarre i sottoinsiemi di dati da un frame dati Panda sono trattati in questo articolo - Selezione di una colonna per etichetta, selezionando diverse colonne per etichetta, ecc.

Come cambiare la colonna Pandas in stringa

Esistono più metodi e tecniche che possiamo utilizzare per filtrare i dati dal Frame dati Pandas in base ai valori nelle colonne. Dimostreremo alcuni metodi per filtrare i dati da un telaio di dati nei seguenti esempi:

Innanzitutto, vedremo come filtrare le righe dei telai dati Pandas a seconda dei valori delle colonne utilizzando operatori condizionali e relazionali specifici.

Esempio 1: filtrare le righe dei frame dati utilizzando []

Per dimostrare questo esempio, abbiamo prima bisogno di un telaio di dati. Il frame dati viene creato utilizzando i panda.Funzione DataFrame (), quindi importa prima la libreria Pandas per creare il nostro Frame Data.


Abbiamo creato il nostro telaio di dati utilizzando un dizionario Python e poi l'abbiamo passato all'interno del PD.Funzione dataframe (). Abbiamo specificato i nomi delle colonne dei nostri dati come "studente", "età", "soggetto" e "tassa". Possiamo utilizzare la funzione print () per illustrare il nostro frame dati "DF".


Nel frame dati precedente, ci sono 4 colonne. "Student" memorizza i nomi ("Anna", "Dany", "John", "Rick", "Jim", "Kenny"). "Age" immagazzina l'età degli individui (25, 23, 22, 18, 19, 20). "Soggetto" è composto da nomi di materie ("Contabilità", "Business", "Science", "Math", "Architecture", "AI"). E "Commissione" è costituito dalla tassa di ciascun soggetto (900, 690, 799, 960, 970, 1080). Supponiamo che dobbiamo filtrare le righe in cui il valore è maggiore di 900 nella colonna "Commissione".


Per accedere ai valori della colonna "Commissione", mettiamo il nome della colonna, i.e. "Commissione", all'interno delle parentesi. Dopo aver acceduto ai valori, abbiamo applicato una condizione DF ['Fee']> 900. Per archiviare i valori che soddisfano la condizione, abbiamo creato la variabile "output".


Abbiamo tre file che soddisfano la condizione precedente. Possiamo usare le diverse colonne all'interno delle parentesi [].

Esempio 2: filtrare le righe dei frame dati utilizzando il metodo LOC []

In questo esempio, il metodo LOC [] viene utilizzato per accedere ai valori dalle colonne di dati di dati. Quindi, utilizziamo gli operatori relazionali o condizionali per filtrare le righe del frame dati. La funzione loc () rende semplice ottenere rapidamente i valori da un telaio di dati. Passando un nome di colonna, un nome di riga o un valore dell'indice alla funzione loc (), possiamo recuperare i valori dei dati che sono archiviati all'interno della riga o della colonna specifica.


Per recuperare i valori dalle colonne di età, abbiamo superato il df ["età"] all'interno del DF.Loc [] funzione. Abbiamo anche usato una condizione all'interno della funzione per recuperare solo quelle file in cui il valore dell'età è maggiore di 19. Per verificare se ha recuperato o meno le righe corrette, illustriamo il nostro frame dati utilizzando la funzione print ().


Negli esempi precedentemente dati, abbiamo visto come utilizzare gli operatori relazionali o condizionali per filtrare le righe specifiche in base ai valori della colonna. Ora vedremo come filtrare i dati utilizzando la funzione isin ().

Esempio 3: filtrare le righe dei frame dati con i valori all'interno dell'elenco utilizzando il metodo ISIN ()

Gli elementi del frame dati vengono controllati per vedere se sono contenuti nei valori utilizzando la funzione isin (). Solo se tutte le etichette corrispondono in una determinata posizione, il risultato sarà vero. Creiamo il nostro telaio dati dopo aver importato il modulo Pandas. Ancora una volta, il PD.DataFrame () viene utilizzato per creare il nostro nuovo dataframe.


Abbiamo creato un frame dati con tre colonne: "nome", "designazione" e "stipendio" che memorizzano i dati ("Richard", "Will", "Steve", "Larry", "Lana", "Tony"), ("Accountant", "Accountant", "Manager", "Clerk", "Clerk", "Manager") e (1200, 1250, 2100, 1000, 990, 2200) rispettivamente. Ora, creiamo un oggetto elenco che viene passato all'interno della funzione isin () come input per abbinare i valori dell'elenco dai valori di colonna specificati del nostro frame dati.


Abbiamo creato per la prima volta un elenco in cui mettiamo i valori "commercialista" e "manager" e abbiamo assegnato questo elenco a una variabile "desig". Si accede al valore della colonna "designazione" utilizzando il nome della colonna, i.e. "Designazione", all'interno []. Abbiamo usato la funzione isin () sui valori valutati della colonna per abbinare i valori nell'elenco con i valori all'interno della colonna "designazione" nel nostro frame dati.


Abbiamo usato i valori "commercialista" e "manager" all'interno dell'elenco. Quindi, la funzione ha restituito le righe in cui la colonna di designazione ha i valori del gestore e del contabile.

Esempio 4: filtrare i dati in base ai valori nelle colonne di dati utilizzando il metodo loc [] e isin ()

Ora, utilizziamo il metodo LOC [] per recuperare o accedere alle colonne specifiche del nostro telaio dati. Dopo aver acceduto ai dati, utilizziamo la funzione isin () per filtrare i dati nel nostro telaio dati.


Nello script precedente, abbiamo un elenco "Sal" con valori [1200, 2100, 2200]. Quindi, l'elenco "Sal" viene passato all'interno della funzione isin () come argomento per abbinare i valori dell'elenco con la colonna "stipendio". Dopo aver abbinato i valori, le righe ottenute dalla funzione sono memorizzate in una nuova variabile "df_filter". Ora, visualizziamo il risultato utilizzando la funzione print ().


Si può vedere che le righe richieste con i valori 1200, 2100 e 2200 vengono estratte dal frame dati "DF".

Ora, nel prossimo esempio, filtreremo i dati utilizzando più condizioni.

Esempio 5: filtrare le righe dei frame dati utilizzando più condizioni sulle colonne di dati

Creiamo prima un frame dati in cui applichiamo le più condizioni per filtrare le righe del frame dati.


Ci sono un totale di 4 colonne nel precedente telaio di dati: "studente", "età", "corsi" e "tassa". La colonna "Student" memorizza il nome degli studenti ("Mike", "Rob", "Arya", "Tom", "Jack", "Luca", "Mark", "Max" e "Alex"). La colonna "Age" contiene l'età di ogni studente (21, 21, 23, 22, 19, 20, 25, 23, 22). Mentre le colonne "corsi" e "tasse" archiviano il nome di corsi ("contabilità", "affari", "scienza", "matematica", "architettura", "ai", "contabilità", "business", "ai ") E tassa di ciascun corso per uno studente (1000, 1190, 1250, 1320, 1245, 1580, 1420, 1600, 1600). Applichiamo le condizioni per estrarre le righe richieste.


Abbiamo creato un elenco "sub" con elementi "contabilità" e "AI". L'elenco viene passato nella funzione isin () per abbinare gli elementi dell'elenco con i valori dei "corsi" colonna. Abbiamo usato un'altra condizione che il valore nella colonna "a pagamento" deve essere maggiore di 1250. Lo script precedente recupera le righe che soddisfano entrambe le condizioni.


Queste righe soddisfano entrambe le condizioni.

Conclusione

In questo tutorial, abbiamo discusso dei molteplici metodi e tecniche che possono essere utilizzati per filtrare i dati dal frame dati Pandas in base ai valori nelle colonne. Abbiamo cercato di renderti in grado di filtrare i dati in base ai valori della colonna. Abbiamo implementato i diversi esempi in questo articolo per insegnarti come utilizzare le funzioni Loc [] e Isin () nonché operatori relazionali o condizionali per estrarre i dati dal determinato telaio a seconda dei valori della colonna.