Pandas: як використовувати like у query()


Ви можете використовувати такі методи, щоб використовувати LIKE (подібно до SQL) у функції pandas query() для пошуку рядків, що містять певний шаблон:

Спосіб 1: Знайдіть рядки, що містять шаблон

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

Спосіб 2: Знайдіть рядки, що містять один із кількох візерунків

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

Наступні приклади показують, як використовувати кожен метод на практиці з такими pandas DataFrame:

 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

Приклад 1: пошук рядків, що містять шаблон

Наступний код показує, як використовувати функцію query() для пошуку всіх рядків у DataFrame, які містять «avs» у стовпці team :

 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

Кожен повернутий рядок містить «avs» десь у стовпці team .

Також зауважте, що цей синтаксис чутливий до регістру.

Отже, якби ми замість цього використали «AVS», ми б не отримали жодних результатів, оскільки в стовпці команди немає рядків із «AVS» у верхньому регістрі.

Приклад 2: пошук рядків, що містять один із кількох шаблонів

Наступний код показує, як використовувати функцію query() для пошуку всіх рядків у DataFrame, які містять «avs» або «eat» у стовпці team :

 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

Кожен повернутий рядок містить «avs» або «eat» десь у стовпці team .

Примітка : | Оператор означає “або” в пандах. Не соромтеся використовувати скільки завгодно, щоб шукати ще більше дизайнів каналів.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: як фільтрувати рядки на основі довжини рядка
Pandas: як видалити рядки на основі умови
Pandas: як використовувати фільтр «NO IN».

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *