Pandas: как использовать like в запросе()
Вы можете использовать следующие методы для использования LIKE (аналогично SQL) в функции pandas query() для поиска строк, содержащих определенный шаблон:
Метод 1: найти строки, содержащие шаблон
df. query (' my_column.str.contains("pattern1") ')
Метод 2: найти строки, содержащие один из нескольких шаблонов
df. query (' my_column.str.contains("pattern1|pattern2") ')
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
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» в столбце команды :
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» где-то в столбце команды .
Также обратите внимание, что этот синтаксис чувствителен к регистру.
Таким образом, если бы мы вместо этого использовали «AVS», мы не получили бы никаких результатов, поскольку в столбце команды нет строк с заглавными буквами «AVS».
Пример 2. Найдите строки, содержащие один из нескольких шаблонов
В следующем коде показано, как использовать функцию query() для поиска всех строк в DataFrame, содержащих «avs» или «eat» в столбце команды :
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» где-то в столбце команды .
Примечание : | Оператор означает «или» в пандах. Не стесняйтесь использовать столько, сколько хотите, для поиска еще большего количества дизайнов каналов.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как фильтровать строки по длине строки
Pandas: как удалить строки по условию
Панды: как использовать фильтр «НЕТ ВХОДА»