DataFrame `sales` (product_id, qty_sold — несколько строк на один товар) и `products` (product_id, name, price — каталог из 8 товаров). Часть товаров вообще не продавалась. Постройте отчёт «продано по каждому товару каталога»: суммарное количество проданных штук по каждому product_id. Товары без продаж должны попасть в результат с нулём — не теряем их. Колонки: `product_id`, `qty_sold` (суммарное количество, int — для непроданных 0), `name`, `price`. По одной строке на каждый из 8 товаров каталога. Сохрани в `result`.
merge right_join fillna
Задача «Right merge: все продукты с продажами» учит обрабатывать табличные данные в pandas: фильтрация, группировка, объединение и метрики. Такие задачи дают на собеседованиях в Wildberries и других IT-компаниях. Уровень лёгкий — база, которую ждут от любого аналитика на Python.
Сначала разбери условие и формат входа-выхода, прикинь крайние случаи (пустой ввод, дубли, NaN). Затем выбери структуру данных и собери решение по шагам — начни с простого рабочего варианта, потом оптимизируй сложность. Код пишешь и запускаешь прямо в браузере: Python-тренажёр исполняет его через Pyodide (pandas, numpy, scipy) и проверяет результат автоматически.
В pandas один и тот же результат часто достаётся разными путями — через groupby, pivot_table, merge или векторные операции над колонками. Важно выбрать читаемый и быстрый: встроенные векторные методы почти всегда обгоняют циклы и построчный apply. На собеседовании ценят не только правильный ответ, но и то, как ты объясняешь выбор подхода, обрабатываешь пропуски (NaN) и оцениваешь, что будет на больших данных.
Разобраться в pandas системно — бесплатный курс «Pandas с нуля» и гайды по pandas.
Открыть задачу в тренажёре → ← Все Python-задачи