Квантили распределения

Easy NumPy статистика Тинькофф

Условие задачи

Дано: DataFrame `sales` с city, product, revenue — 12 строк. Для каждого товара покажите его долю в выручке города: 1. Все исходные колонки 2. total_by_city -- суммарная выручка города (значение повторяется для всех его строк) 3. pct_of_city -- доля товара в выручке города в процентах (1 знак) Результат отсортирован по city, pct_of_city по убыванию. Сохраните в `result`.

Темы

percentile quantile iqr statistics

Подсказки

Что проверяет эта задача

Задача «Квантили распределения» учит векторно считать на numpy без медленных циклов. Такие задачи дают на собеседованиях в Тинькофф и других IT-компаниях. Уровень лёгкий — база, которую ждут от любого аналитика на Python.

Как подступиться к решению

Сначала разбери условие и формат входа-выхода, прикинь крайние случаи (пустой ввод, дубли, NaN). Затем выбери структуру данных и собери решение по шагам — начни с простого рабочего варианта, потом оптимизируй сложность. Код пишешь и запускаешь прямо в браузере: Python-тренажёр исполняет его через Pyodide (pandas, numpy, scipy) и проверяет результат автоматически.

В numpy ключ к скорости — векторизация и broadcasting вместо циклов Python. Понимание dtype, формы массива (shape) и того, какие операции возвращают копию, а какие view, отличает джуна от мидла. На собеседовании просят не просто посчитать, а объяснить, почему векторный код быстрее и где он экономит память.

Прокачать Python для аналитики — бесплатный курс «Pandas с нуля» и Python-тренажёр.

Открыть задачу в тренажёре → ← Все Python-задачи