ETL-пайплайн с валидацией данных

Senior Python Логистика

Условие задания

**Данные:** таблица доставок с грязными данными (пропуски, дубли, невалидные типы).

**Задание:** постройте ETL-пайплайн:
1. **Extract:** чтение грязных данных
2. **Transform:** очистка дубликатов, заполнение пропусков, исправление типов, расчёт метрик
3. **Load:** сохранение с отчётом о качестве данных

**Условия:** каждый шаг — отдельная функция, после каждого шага — `assert`-валидация

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

df = pd.DataFrame({
        'shipment_id': list(range(n)) + list(range(50)),
        'origin': np.random.choice(['Москва', 'СПб', 'Казань', None], n + 50),
        'destination': np.random.choice(['Новосибирск', 'Екатеринбург', 'Самара'], n + 50),
        'weight_kg': np.concatenate([np.random.uniform(0.5, 50, n),
                                     np.array([-5]*10 + [0]*40)]),
        'cost': np.concatenate([np.random.uniform(200, 5000, n),
                                np.array([None]*50)]),
        'created_at': pd.date_range('2024-01-01', periods=n+50, freq='30min'),
        'delivered_at': pd.NaT,
    })

Темы

pandas ETL валидация pipeline data quality

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "ETL-пайплайн с валидацией данных"?

Это задание для уровня Senior. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «Python» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: pandas, ETL, валидация, pipeline, data quality.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «Python»?

На zasqlpython.ru есть 482 Python задачи с проверкой через Pyodide, конспекты Python и pandas, AI мок-собеседование с разбором ваших ответов.

← Все задания