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».