Pandas на собеседовании аналитика

Что спрашивают по pandas

Pandas — это примерно 70% вопросов по Python на собеседовании аналитика данных. Интервьюер проверяет не синтаксис, а понимание: что именно возвращает метод, чем один подход отличается от другого, какие подводные камни есть у привычных операций.

Основные блоки вопросов:

groupby и агрегации:

  • Разница между size() и count() — size считает все строки включая NULL, count пропускает пропуски
  • Множественные агрегации через agg({'col': ['mean', 'sum']})
  • transform vs agg — 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

Совет: На собеседовании не просто называйте метод — объясните, что он возвращает. Интервьюер оценивает глубину понимания, а не скорость набора кода.

Примеры задач

  1. Посчитайте среднюю зарплату по отделу, исключив NULL. Стандартный groupby + mean. Подвох: если спросят, учитывает ли mean пропуски — нет, skipna=True по умолчанию.

  2. Объедините две таблицы: заказы и клиенты. Проверяют, знаете ли вы параметры on, how, suffixes. Частый follow-up: что будет, если в таблице клиентов есть дубликаты.

  3. Постройте pivot_table: строки — регионы, столбцы — месяцы, значения — сумма продаж. Тут проверяют знание values, index, columns, aggfunc.

  4. Замените циклическую обработку на векторизацию. Дают код с for row in df.iterrows() и просят переписать через встроенные методы.

Как готовиться к pandas-вопросам

  1. Разберите аналогии с SQLgroupby = GROUP BY, merge = JOIN, query() = WHERE, pivot_table = CASE WHEN + GROUP BY. Если вы уже знаете SQL, pandas будет понятнее.

  2. Запомните поведение по умолчанию — merge делает inner join, sort в groupby = True, axis=0 в drop. Интервьюеры любят вопросы вида «что будет, если не указать параметр?»

  3. Практикуйтесь на коротких задачах — не пишите пайплайны на 50 строк. На собеседовании проверяют, понимаете ли вы один конкретный метод.

  4. Тренируйтесь в Карьернике — в разделе 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 и примеры вопросов помогут закрепить обе темы. Смотрите также общие советы по подготовке.