Дано: два массива -- `normal_data` (нормально распределённые) и `skewed_data` (скошённые). Проверьте каждый массив на нормальность тестом Шапиро-Уилка. Для каждого массива: is_normal = True если p ≥ 0.05. Сохраните dict с результатами: {"normal": {"statistic":..., "p_value":..., "is_normal": True/False}, "skewed": {...}} (округлённые до 4 знаков) в `result`.
fillna missing_data groupby transform
Задача «Missing data: смарт-заполнение пропусков медианой по группе» учит обрабатывать табличные данные в pandas как аналитик. Такие задачи дают на собеседованиях в Тинькофф и других IT-компаниях. Уровень средний — типичная боевая задача на уверенный Python.
Сначала разбери условие и формат входа-выхода, прикинь крайние случаи (пустой ввод, дубли, NaN). Затем выбери структуру данных и собери решение по шагам — начни с простого рабочего варианта, потом оптимизируй сложность. Код пишешь и запускаешь прямо в браузере: Python-тренажёр исполняет его через Pyodide (pandas, numpy, scipy) и проверяет результат автоматически.
В pandas один и тот же результат часто достаётся разными путями — через groupby, pivot_table, merge или векторные операции над колонками. Важно выбрать читаемый и быстрый: встроенные векторные методы почти всегда обгоняют циклы и построчный apply. На собеседовании ценят не только правильный ответ, но и то, как ты объясняешь выбор подхода, обрабатываешь пропуски (NaN) и оцениваешь, что будет на больших данных.
Разобраться в pandas системно — бесплатный курс «Pandas с нуля» и гайды по pandas.
Открыть задачу в тренажёре → ← Все Python-задачи