Pandy: jak wybrać linie, które nie zaczynają się od ciągu znaków


Możesz użyć następującej podstawowej składni, aby wybrać wiersze, które nie zaczynają się od określonego ciągu w ramce DataFrame pandy:

 df[~df. my_column . str . startswith ((' this ', ' that '))]

Ta konkretna formuła wybiera wszystkie wiersze w ramce danych, w których kolumna o nazwie moja_kolumna nie zaczyna się od ciągu tego lub tamtego .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: wybierz linie, które nie zaczynają się od ciągu znaków w Pandach

Załóżmy, że mamy następującą ramkę DataFrame pand, która zawiera informacje o sprzedaży dla różnych sklepów:

 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     

Możemy użyć następującej składni, aby wybrać wszystkie wiersze w ramce DataFrame, które nie zaczynają się od ciągów „Upper” lub „Lower” w kolumnie sklepu :

 #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

Należy pamiętać, że zwracane są tylko te wiersze, w których kolumna sklepu nie zaczyna się od „Górna” lub „Dolna”.

Jeśli chcesz, możesz także zdefiniować krotkę łańcuchową poza funkcją 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

Daje to taki sam wynik jak poprzednia metoda.

Uwaga : Pełną dokumentację funkcji startwith w pandach znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: Jak filtrować wiersze na podstawie długości łańcucha
Pandy: jak sprawdzić, czy kolumna zawiera ciąg znaków
Pandy: Jak łączyć ciągi znaków za pomocą GroupBy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *