Pandas, фильтрация данных с помощью регексов

14.02.2022

Для того, чтобы отфильтровать данные в датафрейме pandas с помощью регулярного выражения, можно воспользоваться функцией contains с указанием параметра regex для строковых типов данных.

Представим датафрейм df:

value | text
------|-----------
    1 | первый работник
    2 | цветок
    3 | робот
    4 | второй работник

Выборка строк содержащих упоминания работников и роботов в столбце text:

filter_regex = 'р[а|о]бот(ник)?'
filtered_df = df[df['text'].str.contains(filter_regex, flags=re.IGNORECASE, regex=True)]