Pandy: jak używać like w zapytaniu ()


Możesz użyć następujących metod, aby użyć LIKE (podobnie do SQL) w funkcji query() pandy w celu znalezienia wierszy zawierających określony wzorzec:

Metoda 1: Znajdź wiersze zawierające wzór

 df. query (' my_column.str.contains("pattern1") ')

Metoda 2: Znajdź wiersze zawierające jeden z wielu wzorców

 df. query (' my_column.str.contains("pattern1|pattern2") ')

Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Cavs', 'Heat', 'Mavs', 'Mavs', 'Nets',
                            'Heat', 'Cavs', 'Jazz', 'Jazz', 'Hawks'],
                   ' points ': [3, 3, 4, 5, 4, 7, 8, 7, 12, 14],
                   ' rebounds ': [15, 14, 14, 10, 8, 14, 13, 9, 5, 4]})

#view DataFrame
print (df)

    team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
4 Nets 4 8
5 Heat 7 14
6 Cavs 8 13
7 Jazz 7 9
8 Jazz 12 5
9 Hawks 14 4

Przykład 1: Znajdź wiersze zawierające wzór

Poniższy kod pokazuje, jak używać funkcji query() do znajdowania wszystkich wierszy w ramce danych zawierających „avs” w kolumnie zespołu :

 df. query (' team.str.contains("avs") ')

        team points rebounds
0 Cavs 3 15
2 Mavs 4 14
3 Mavs 5 10
6 Cavs 8 13

Każdy zwrócony wiersz zawiera „avs” gdzieś w kolumnie zespołu .

Należy również pamiętać, że w tej składni rozróżniana jest wielkość liter.

Jeśli więc zamiast tego użylibyśmy „AVS”, nie otrzymalibyśmy żadnych wyników, ponieważ w kolumnie zespołu nie ma wierszy z wielkimi literami „AVS”.

Przykład 2: Znajdź wiersze zawierające jeden z wielu wzorców

Poniższy kod pokazuje, jak używać funkcji query() do znajdowania wszystkich wierszy w ramce danych zawierających „avs” lub „eat” w kolumnie zespołu :

 df. query (' team.str.contains("avs|eat") ')

        team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
5 Heat 7 14
6 Cavs 8 13

Każdy zwrócony wiersz zawiera „avs” lub „eat” gdzieś w kolumnie zespołu .

Uwaga : | Operator oznacza „lub” w pandach. Możesz użyć dowolnej liczby, aby wyszukać jeszcze więcej projektów kanałów.

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 usuwać wiersze na podstawie warunku
Pandy: Jak korzystać z filtra „NO IN”.

Dodaj komentarz

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