Panda: come filtrare le righe contenenti una stringa specifica
È possibile utilizzare la seguente sintassi per filtrare le righe contenenti una determinata stringa in un DataFrame panda:
df[df[" col "]. str . contains (“ this string ”)]
Questo tutorial spiega diversi esempi di utilizzo pratico di questa sintassi con il seguente DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'], ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'], ' points ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team conference points 0 A East 11 1 A East 8 2 A East 10 3 B West 6 4 B West 6 5 C East 5
Esempio 1: filtrare le righe contenenti una stringa specifica
Il codice seguente mostra come filtrare le righe nel DataFrame che contengono “A” nella colonna del team:
df[df[" team "]. str . contains (“ A ”)] team conference points 0 A East 11 1 A East 8 2 A East 10
Vengono mantenute solo le righe la cui colonna della squadra contiene “A”.
Esempio 2: filtrare le righe contenenti una stringa in un elenco
Il codice seguente mostra come filtrare le righe nel DataFrame che contengono “A” o “B” nella colonna del team:
df[df[" team "]. str . contains (“ A|B ”)] team conference points 0 A East 11 1 A East 8 2 A East 10 3 B West 6 4 B West 6
Vengono mantenute solo le righe la cui colonna della squadra contiene “A” o “B”.
Esempio 3: filtrare le righe contenenti una stringa parziale
Negli esempi precedenti abbiamo filtrato in base alle righe che corrispondono esattamente a una o più stringhe.
Se però vogliamo filtrare le righe contenenti una stringa parziale, possiamo utilizzare la seguente sintassi:
#identify partial string to look for keep=[" Wes "] #filter for rows that contain the partial string "Wes" in the conference column df[df. conference . str . contains (' | ' .join (keep))] team conference points 3 B West 6 4 B West 6
Vengono mantenute solo le righe in cui la colonna conferenza contiene “Wes”.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come eliminare le righe in Pandas DataFrame in base alle condizioni
Come filtrare un Pandas DataFrame su più condizioni
Come utilizzare il filtro “NOT IN” in Pandas DataFrame