Pandas
pandas — рабочий инструмент аналитика для таблиц, не помещающихся в голову, но помещающихся в память. На собеседовании почти каждая практическая задача сводится к одной из пяти операций: отфильтровать строки, сгруппировать и агрегировать, объединить таблицы, посчитать условный агрегат и найти значение на момент времени.
Главная ловушка — не синтаксис, а единица анализа. «Первый заказ клиента», «зарплата больше менеджера», «цена на дату» — в каждой задаче важно, по каким строкам вы считаете и что с чем сравниваете. Карта ниже идёт от простого фильтра к as-of поиску.
Карта темы
- Фильтрация — булевы маски,
isin, комбинирование условий и выбор строки черезidxmin/idxmax. - Группировка —
groupbyсagg,sizeпротивcountи именованная агрегация. - Объединение —
mergeпо ключу,left_on/right_on, самообъединение и типыhow. - Условная агрегация — итоги и подмножество за один проход через вспомогательные столбцы.
- Поиск на момент времени — значение as-of даты с дефолтом до первого изменения.
Частые ошибки и ловушки
| Ошибка | Последствие |
|---|---|
| Считать по всем строкам вместо первых заказов | Ответ на другой вопрос |
| Сравнивать со средним вместо связанной строки | Неверная логика «больше менеджера» |
| Забыть скобки вокруг условий в булевой маске | ValueError из-за приоритета операторов |
| Отфильтровать до агрегации, теряя итоги | Пропадают все-строки-счётчики и суммы |
| Взять глобально последнее вместо as-of даты | Игнорирована целевая дата |
Склеить concat вместо merge по ключу | Строки не сопоставлены по ключу |
Значение для собеседований
Практический pandas проверяет, переводите ли вы формулировку в правильную единицу анализа и знаете ли идиоматичные приёмы. Сильный кандидат вслух проговаривает — «беру первый заказ каждого клиента через idxmin, потом долю» — то есть сначала уточняет, по каким строкам считает.
Что обычно проверяют:
- Булеву фильтрацию и выбор одной строки на группу.
groupby+aggи разницуsize/count.merge— ключи, самообъединение,howи null.- Условную агрегацию за один проход и as-of поиск.
Типичный неверный ответ: посчитать метрику по всей таблице, когда вопрос про первые заказы клиентов. Синтаксис верный, но единица анализа не та — и результат отвечает на другой вопрос.