← Все уроки

Pandas с нуля. Часть 5: фильтрация — маски, isin, query

Полный гайд по фильтрации DataFrame в pandas: булевы маски, операторы & | ~ и почему нужны скобки, isin, between, isna, .str.contains и метод query() для аналит

Урок курса «Pandas с нуля» — открой бесплатной регистрацией
Ниже — план урока. Зарегистрируйся за 30 секунд, чтобы открыть полную теорию и 4 задачи с автопроверкой прямо в браузере (Python и pandas прямо в браузере), сохранять прогресс и пройти все 10 частей бесплатно.

Это часть 5 из 10 курса «Pandas с нуля для аналитика».

Фильтрация — это то, чем аналитик занимается каждый день. «Покажи заказы из Москвы за последнюю неделю», «выкини отменённые», «оставь только VIP-клиентов» — всё это фильтры. В SQL для этого есть WHERE. В pandas нет одного WHERE — но есть несколько способов фильтровать, и когда ты разберёшься в них, ты сможешь вырезать из таблицы ровно то, что нужно, одной строкой.

Что разберёшь в этом уроке

Частые вопросы

Как отфильтровать строки DataFrame по условию?

Передайте булеву маску в скобках: df[df['age'] > 30]. Несколько условий объединяют через & (и) и | (или), каждое в круглых скобках: df[(df['age'] > 30) & (df['city'] == 'Москва')].

Когда использовать isin вместо нескольких условий с or?

isin удобен для проверки вхождения в список значений: df[df['city'].isin(['Москва','СПб','Казань'])] вместо длинной цепочки == через |. Для исключения добавьте ~ перед маской: df[~df['city'].isin([...])].

Чем метод query отличается от фильтрации маской?

query фильтрует строкой-выражением: df.query('age > 30 and city == "Москва"'), что читабельнее при сложных условиях и не требует повторять имя df. Для подстановки переменных используйте @: df.query('age > @min_age').

Free — после регистрации
0 ₽
  • Все 10 уроков курса + 36 интерактивных задач
  • 5 SQL и 5 Python-задач в тренажёре
  • 5 кейсов · 10 метрик · 1 AI-собеседование
Начать бесплатно →
Pro
1 999 ₽/мес
  • Все 545 SQL + 538 Python-задач
  • 610 кейсов · 394 метрик · 664 заданий
  • Безлимит AI-собеседований с разбором
Оформить Pro →