Pandas DataFrame на 50М строк падает с MemoryError на машине 16GB RAM. Какое первое действие даст максимальный выигрыш памяти?
Pythonmediummiddle
Проверяет знание Python и pandas для анализа данных.
pandasmemory-optimizationcategoryOOM
Варианты ответа
Использовать df.copy(deep=True) перед любой трансформацией — гарантирует что pandas не держит лишние ссылки в памяти и освобождает её сразу
Включить multiprocessing через df.parallelize() — распараллелит загрузку и обработку на все CPU ядра, RAM-нагрузка распределится автоматически
Привести object-колонки с малой кардинальностью (страны, девайсы, статусы) к dtype category — экономит 50-80% памяти на этих колонках без изменения логики
Переписать весь pipeline на Spark — это единственный способ работать с большими данными, pandas не подходит для production-нагрузок свыше 10М строк
Как разобрать этот вопрос на собеседовании
Подумай, какая структура данных и какой инструмент pandas решают задачу с наименьшей сложностью: векторизация вместо циклов, groupby/merge вместо ручных склеек, корректная работа с NaN и типами. Интервьюер смотрит на читаемость кода и на то, понимаешь ли ты, что происходит «под капотом» — копия или вью, сложность операции, утечки памяти на больших данных.
На собеседовании по такому вопросу важно не только назвать ответ, но и кратко объяснить, почему он верный.
Тема вопроса — «Python». Чтобы подготовиться к похожим задачам, отрабатывай их на практике: python-тренажёр помогает довести навык до автоматизма, а раздел вопросов — увидеть формулировки, которые реально встречаются на интервью аналитика данных.
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
3000+ вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.