Panda's: regels selecteren die niet met een string beginnen
U kunt de volgende basissyntaxis gebruiken om rijen te selecteren die niet beginnen met een specifieke tekenreeks in een Panda DataFrame:
df[~df. my_column . str . startswith ((' this ', ' that '))]
Deze specifieke formule selecteert alle rijen in het DataFrame waar de kolom my_column niet begint met de string this of de string that .
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: selecteer regels die niet met een string beginnen in Pandas
Laten we zeggen dat we het volgende panda’s DataFrame hebben dat verkoopinformatie voor verschillende winkels bevat:
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
We kunnen de volgende syntaxis gebruiken om alle rijen in het DataFrame te selecteren die niet beginnen met de tekenreeks ‚Upper‘ of ‚Lower‘ in de winkelkolom :
#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
Houd er rekening mee dat de enige rijen die worden geretourneerd, de rijen zijn waarin de winkelkolom niet begint met ‚Upper‘ of ‚Lower‘.
Als je wilt, kun je de string-tupel ook buiten de startupswith() -functie definiëren:
#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
Dit levert hetzelfde resultaat op als de vorige methode.
Opmerking : u kunt de volledige documentatie van de startwith- functie in panda’s hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Panda’s: rijen filteren op basis van tekenreekslengte
Panda’s: hoe u kunt controleren of een kolom een string bevat
Panda’s: tekenreeksen samenvoegen met GroupBy