Чему вы научитесь
- План на 16 недель
- 1. Python для эффективной обработки данных
- • Итераторы и генераторы
- • yield и lazy evaluation
- • Генераторные выражения
- • Потоковая обработка данных
- • Работа с большими объёмами данных и памятью
- 2. NumPy
- • ndarray, shape, dimensions, dtype
- • Индексация и slicing
- • Векторизированные вычисления
- • Broadcasting
- • Агрегации
- • NumPy vs обычные Python-циклы
- 3. Pandas: основы
- • Series и DataFrame
- • Index и columns
- • Типы данных
- • Загрузка и первичное исследование datasets
- • loc, iloc
- • Фильтрация и query
- 4. Pandas: преобразование данных
- • rename, astype, assign
- • Создание новых признаков
- • map и apply
- • Векторизация
- • Производительность Pandas
- 5. Pandas: группировка и агрегация
- • groupby
- • agg
- • Несколько агрегатов
- • transform
- • filter
- • MultiIndex
- • Расчёт бизнес-метрик
- 6. Pandas: объединение и изменение структуры данных
- • merge
- • INNER / LEFT / RIGHT / OUTER JOIN
- • One-to-one, one-to-many, many-to-many
- • Cardinality и дубликаты ключей
- • concat
- • pivot, pivot_table, melt
- 7. Время и очистка данных
- • Работа с datetime
- • Timezone
- • Resampling
- • Rolling и накопительные показатели
- • Пропуски
- • Дубликаты
- • Некорректные типы
- • Выбросы
- • Проверка качества данных
- 8. Исследовательский анализ данных
- • Как правильно проводить EDA
- • Постановка аналитического вопроса
- • Поиск закономерностей и аномалий
- • Формирование и проверка гипотез
- • Matplotlib
- • Seaborn
- • Выбор правильного типа визуализации
- Практический кейс: исследование поведения клиентов на реальном наборе данных.
- 9. Python + PostgreSQL
- • Подключение к PostgreSQL из Python
- • DB-API
- • Connection и Cursor
- • Параметризованные запросы
- • Transactions
- • SQLAlchemy
- • Engine и Connection
- • Работа с DataFrame и PostgreSQL
- 10. Надёжная загрузка данных из API
- • Pagination
- • Rate limits
- • Timeout
- • Retries
- • Обработка ошибок
- • Incremental loading
- • Watermark
- • Checkpoint
- • Защита от дубликатов
- Практика: API → Python → PostgreSQL
- 11. ETL / ELT и проектирование Data Pipeline
- • ETL и ELT
- • Extract → Transform → Load
- • Raw / Sta
О курсе
План на 16 недель
1. Python для эффективной обработки данных
• Итераторы и генераторы
• yield и lazy evaluation
• Генераторные выражения
• Потоковая обработка данных
• Работа с большими объёмами данных и памятью
2. NumPy
• ndarray, shape, dimensions, dtype
• Индексация и slicing
• Векторизированные вычисления
• Broadcasting
• Агрегации
• NumPy vs обычные Python-циклы
3. Pandas: основы
• Series и DataFrame
• Index и columns
• Типы данных
• Загрузка и первичное исследование datasets
• loc, iloc
• Фильтрация и query
4. Pandas: преобразование данных
• rename, astype, assign
• Создание новых признаков
• map и apply
• Векторизация
• Производительность Pandas
5. Pandas: группировка и агрегация
• groupby
• agg
• Несколько агрегатов
• transform
• filter
• MultiIndex
• Расчёт бизнес-метрик
6. Pandas: объединение и изменение структуры данных
• merge
• INNER / LEFT / RIGHT / OUTER JOIN
• One-to-one, one-to-many, many-to-many
• Cardinality и дубликаты ключей
• concat
• pivot, pivot_table, melt
7. Время и очистка данных
• Работа с datetime
• Timezone
• Resampling
• Rolling и накопительные показатели
• Пропуски
• Дубликаты
• Некорректные типы
• Выбросы
• Проверка качества данных
8. Исследовательский анализ данных
• Как правильно проводить EDA
• Постановка аналитического вопроса
• Поиск закономерностей и аномалий
• Формирование и проверка гипотез
• Matplotlib
• Seaborn
• Выбор правильного типа визуализации
Практический кейс: исследование поведения клиентов на реальном наборе данных.
9. Python + PostgreSQL
• Подключение к PostgreSQL из Python
• DB-API
• Connection и Cursor
• Параметризованные запросы
• Transactions
• SQLAlchemy
• Engine и Connection
• Работа с DataFrame и PostgreSQL
10. Надёжная загрузка данных из API
• Pagination
• Rate limits
• Timeout
• Retries
• Обработка ошибок
• Incremental loading
• Watermark
• Checkpoint
• Защита от дубликатов
Практика: API → Python → PostgreSQL
11. ETL / ELT и проектирование Data Pipeline
• ETL и ELT
• Extract → Transform → Load
• Raw / Staging / Final
• Архитектура pipeline
• Full и incremental loading
• Idempotency
• Retry и recovery
• Checkpoints
• Что происходит при падении pipeline
Практика: спроектировать и реализовать устойчивый ETL pipeline.
12. Production Python
• Архитектура Python-проекта
• Modules и packages
• src-структура
• Configuration
• Environment variables
• Secrets
• pyproject.toml
• Dependencies
• Type hints
• Pydantic
Практика: превратить обычный ETL-скрипт в полноценный Python-проект.
13. Testing и Data Quality
• Pytest
• Unit tests
• Fixtures
• Parametrization
• Mocking
• Тестирование transformations
• Schema validation
• Null checks
• Uniqueness
• Referential integrity
• Business rules
Практика: добавить автоматические тесты и проверки качества данных в pipeline.
14. Большие данные и эффективное хранение
• Когда Pandas перестаёт справляться
• Memory limitations
• Chunk processing
• Streaming
• SQL pushdown
• DuckDB
• Polars
• CSV vs Parquet
• Apache Arrow
• Compression
• Partitioning
• Predicate pushdown
Практика:
CSV → Python → Parquet → DuckDB → Analytics
15. Airflow + Docker
• Зачем нужен orchestration
• Airflow DAG
• Tasks
• Dependencies
• Scheduling
• Retries
• Idempotent tasks
• Docker images и containers
• Dockerfile
• Volumes и networks
• Docker Compose
Практика: запустить собственный ETL pipeline через Airflow в Docker.
16. Финальный проект 🚀
Создание полноценного production-like data-проекта:
External APIs
↓
Python ingestion
↓
Raw data
↓
Data Quality
↓
Transformation
↓
Parquet / PostgreSQL
↓
Data Marts
↓
Analytics
В финальном проекте будем применять всё, что изучили на курсе:
• Python
• Pandas
• SQL
• PostgreSQL
• API ingestion
• Incremental loading
• ETL
• Parquet
• Data Quality
• Testing
• Logging
• Idempotency
• Airflow
• Docker
Для кого этот курс
Начальные требования
пройти уроки с 1.1 по 6.6 базового курса по Python (https://stepik.org/course/271947/syllabus)
Как проходит обучение
Нужно смотреть видеоуроки, делать домашние задания и решать тесты
Программа курса
В курс входят
- 13 уроков
- 2часа 53минуты видео
- 62 теста
- 35 интерактивных задач
Наши преподаватели
Что вы получаете
- Освоите базовые инструменты инженерии и анализа данных на Python