Pandas на собеседовании аналитика
Что спрашивают по pandas
Pandas — это примерно 70% вопросов по Python на собеседовании аналитика данных. Интервьюер проверяет не синтаксис, а понимание: что именно возвращает метод, чем один подход отличается от другого, какие подводные камни есть у привычных операций.
Основные блоки вопросов:
groupby и агрегации:
- Разница между
size()иcount()— size считает все строки включая NULL, count пропускает пропуски - Множественные агрегации через
agg({'col': ['mean', 'sum']}) transformvsagg— transform возвращает Series той же длины, agg сжимает группы
merge и join:
- Тип соединения по умолчанию — inner, и это частая ловушка
- Разница между
merge()иjoin()— merge гибче, join работает по индексу - Что произойдёт при дубликатах ключей — декартово произведение внутри группы
pivot_table и melt:
- Когда использовать pivot_table, а когда groupby — pivot_table удобнее для двумерных срезов
melt— обратная операция, из широкого формата в длинный
apply vs векторизация:
apply— построчная функция, медленная на больших данных- Всегда предпочитайте встроенные методы pandas и numpy — они работают в десятки раз быстрее
Типичные ошибки
Даже опытные аналитики допускают ошибки, которые интервьюеры знают наизусть:
- SettingWithCopyWarning — возникает, когда вы модифицируете срез DataFrame, а не копию. Решение: используйте
.loc[]или явный.copy() - inplace=True — создаёт иллюзию удобства, но мешает чейнингу методов и усложняет отладку. Pandas-сообщество рекомендует переприсваивание
- Забытый reset_index() — после groupby индекс становится группирующей колонкой, и следующий merge может сломаться
- Цепочка
df[df.col > 5]['new_col'] = value— не гарантирует изменение оригинального DataFrame
Совет: На собеседовании не просто называйте метод — объясните, что он возвращает. Интервьюер оценивает глубину понимания, а не скорость набора кода.
Примеры задач
Посчитайте среднюю зарплату по отделу, исключив NULL. Стандартный groupby + mean. Подвох: если спросят, учитывает ли mean пропуски — нет, skipna=True по умолчанию.
Объедините две таблицы: заказы и клиенты. Проверяют, знаете ли вы параметры
on,how,suffixes. Частый follow-up: что будет, если в таблице клиентов есть дубликаты.Постройте pivot_table: строки — регионы, столбцы — месяцы, значения — сумма продаж. Тут проверяют знание
values,index,columns,aggfunc.Замените циклическую обработку на векторизацию. Дают код с
for row in df.iterrows()и просят переписать через встроенные методы.
Как готовиться к pandas-вопросам
Разберите аналогии с SQL —
groupby= GROUP BY,merge= JOIN,query()= WHERE,pivot_table= CASE WHEN + GROUP BY. Если вы уже знаете SQL, pandas будет понятнее.Запомните поведение по умолчанию — merge делает inner join, sort в groupby = True, axis=0 в drop. Интервьюеры любят вопросы вида «что будет, если не указать параметр?»
Практикуйтесь на коротких задачах — не пишите пайплайны на 50 строк. На собеседовании проверяют, понимаете ли вы один конкретный метод.
Тренируйтесь в Карьернике — в разделе Python есть вопросы по pandas с разборами, от базовых до продвинутых.
FAQ
Какой уровень pandas нужен для junior-аналитика?
Базовый: читать данные (read_csv, read_excel), фильтровать (loc, query), группировать (groupby + agg), объединять (merge). Этого хватит для 80% задач на junior-собеседовании.
Спрашивают ли pandas на live-coding?
Зависит от компании. В крупных (Яндекс, Озон, Тинькофф) могут дать задачу в Jupyter или Google Colab. В большинстве компаний — устные вопросы с просьбой объяснить, что делает код.
Как связаны pandas и SQL на собеседовании?
Часто просят решить одну и ту же задачу на SQL и pandas — это проверяет гибкость мышления. Готовьтесь параллельно: вопросы по SQL и примеры вопросов помогут закрепить обе темы. Смотрите также общие советы по подготовке.