Panda: come selezionare le righe che non iniziano con una stringa
È possibile utilizzare la seguente sintassi di base per selezionare le righe che non iniziano con una stringa specifica in un DataFrame panda:
df[~df. my_column . str . startswith ((' this ', ' that '))]
Questa particolare formula seleziona tutte le righe nel DataFrame in cui la colonna chiamata my_column non inizia con la stringa this o la stringa that .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: seleziona le linee che non iniziano con una stringa in Pandas
Supponiamo di avere il seguente DataFrame panda che contiene informazioni sulle vendite per vari negozi:
import pandas as pd #createDataFrame df = pd. DataFrame ({' store ': ['Upper East', 'Upper West', 'Lower East', 'West', 'CTR'], ' sales ': [150, 224, 250, 198, 177]}) #view DataFrame print (df) blind sales 0 Upper East 150 1 Upper West 224 2 Lower East 250 3 West 198 4 CTR 177
Possiamo utilizzare la seguente sintassi per selezionare tutte le righe nel DataFrame che non iniziano con le stringhe “Upper” o “Lower” nella colonna store :
#select all rows where store does not start with 'Upper' or 'Lower'
df[~df. blind . str . startswith ((' Upper ',' Lower '))]
blind sales
3 West 198
4 CTR 177
Tieni presente che le uniche righe restituite sono quelle in cui la colonna del negozio non inizia con “Upper” o “Lower”.
Se vuoi, puoi anche definire la tupla di stringhe al di fuori della funzione startupswith() :
#define tuple of strings
some_strings = (' Upper ', ' Lower ')
#select all rows where store does not start with strings in tuple
df[~df. blind . str . startswith (some_strings)]
blind sales
3 West 198
4 CTR 177
Questo produce lo stesso risultato del metodo precedente.
Nota : puoi trovare la documentazione completa della funzione startwith in Pandas qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Panda: come filtrare le righe in base alla lunghezza della stringa
Panda: come verificare se la colonna contiene una stringa
Panda: come concatenare stringhe utilizzando GroupBy