Курс на Stepik
Обложка курса «Polars для дата-инженеров» на Stepik
Бесплатно

Polars для дата-инженеров 0.000

Открыть на
STEPIK.ORG

Polars 1.42 для дата-инженеров: Series, DataFrame, expressions, LazyFrame, оптимизатор, streaming, Arrow, тестирование и production ETL/ELT.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Polars для дата-инженеров»Учеников на курсе 31
Сертификаты, выданные на курсе «Polars для дата-инженеров»Сертификатов выдано 0
Отзывы о курсе «Polars для дата-инженеров»Отзывов получено 0
Рейтинг курса «Polars для дата-инженеров»Рейтинг курса 0.000
Уроки в курсе «Polars для дата-инженеров»Количество уроков 156
Тесты в курсе «Polars для дата-инженеров»Количество квизов 752
Время прохождения курса «Polars для дата-инженеров»Время прохождения курса
Обновления курса «Polars для дата-инженеров»Обновления курса
Дата публикации курса «Polars для дата-инженеров»Дата публикации курса
Последнее обновление курса «Polars для дата-инженеров»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Polars для дата-инженеров» 23 раздела Уроки в курсе «Polars для дата-инженеров» 156 уроков Тесты в курсе «Polars для дата-инженеров» 752 теста Время прохождения курса «Polars для дата-инженеров» 0 ч. Последнее обновление курса «Polars для дата-инженеров» обн. 19 июля 2026

Модуль 1. Введение: зачем дата-инженеру Polars и среда

6 уроков
1. Почему Polars — современный инструмент дата-инженера
2. Установка: Python, окружение и Polars 1.x
3. Первый DataFrame: создаём и смотрим на данные
4. Polars-мышление: без индекса, без мутаций, без циклов
5. Polars и pandas: сравниваем философию, а не синтаксис
6. Карта курса: от первого DataFrame до production ETL

Модуль 2. Series — одномерный кирпичик

6 уроков
1. Что такое Series: массив значений с единым типом
2. Создание Series: списки, словари, NumPy
3. Типы данных Series: Int64, Float64, String и другие
4. Операции с Series: арифметика, сравнения, агрегации
5. Пропуски в Series: null и его особенности
6. Когда Series лучше, чем список Python

Модуль 3. DataFrame — главный герой

7 уроков
1. Что такое DataFrame: таблица из строго типизированных колонок
2. Создание DataFrame: словарь, список словарей, Series
3. Схема и осмотр данных: schema, dtypes, describe, glimpse
4. Выбор колонок: select и синтаксис одной/нескольких колонок
5. Добавление, вычисление и переименование колонок
6. Сортировка и первые N строк: sort, head, tail, slice
7. Статистика и summary: describe, median, quantile, unique

Модуль 4. Выражения — суперсила Polars

8 уроков
1. Что такое выражение: col, lit и отложенное вычисление
2. Арифметика в выражениях: сложение, умножение, alias
3. Условные выражения: when then otherwise
4. Expression expansion: выбор колонок по паттерну и списку
5. Селекторы: cs.numeric(), cs.string(), cs.by_dtype()
6. Пользовательские вычисления: map_elements и когда оно оправдано
7. Композиция выражений: pipe и цепочки
8. Антипаттерны: циклы, iter_rows и преждевременный collect

Модуль 5. Фильтрация — отбор нужного

6 уроков
1. filter: основы фильтрации по условию
2. Множественные условия: &, |, ~ и скобки
3. Фильтрация по списку значений: is_in и is_between
4. Фильтрация null: is_null, is_not_null, null-безопасные сравнения
5. Выбор строк по позиции: slice, head, tail, sample
6. Типичные ошибки фильтрации и как их избежать

Модуль 6. Ввод и вывод данных

8 уроков
1. Единый API: семейства read_, scan_, write_ и sink_
2. CSV: read_csv, scan_csv, разделители, заголовки, типы
3. CSV глубже: проблемные строки, кодировки, большие файлы
4. Parquet: read_parquet, scan_parquet, колоночное хранение
5. IPC/Feather и NDJSON: когда какой формат выбирать
6. Запись данных: write_csv, write_parquet, write_ipc, write_ndjson
7. Партиционирование при записи: partition_by
8. Введение в чтение из баз данных: read_database

Модуль 7. Типы данных и память

7 уроков
1. Система типов Polars: полный обзор
2. Числовые типы: Int/Float, разрядность, downcasting
3. Строковые типы: String против Categorical
4. Enum: строгие категориальные колонки
5. Структурные типы: List, Array и Struct
6. Временные типы: Date, Datetime, Duration, Time
7. Измерение памяти: estimated_size, оптимизация типов

Модуль 8. Очистка данных

7 уроков
1. Пропущенные значения: null как единый маркер пропуска
2. Поиск и подсчёт пропусков: null_count, is_null
3. Удаление пропусков: drop_nulls и его параметры
4. Заполнение пропусков: fill_null, forward/backward fill
5. Дубликаты: is_duplicated, unique, n_unique
6. Замена значений: replace, replace_strict, mapping
7. Сквозная очистка: приводим в порядок грязный датасет магазина

Модуль 9. Преобразование данных

7 уроков
1. Векторизация против циклов: почему Polars быстрый
2. with_columns: добавление и изменение колонок без мутации
3. Вертикальные и горизонтальные операции: pl.all, pl.col
4. map_elements глубже: когда без него не обойтись
5. Условные колонки: when then otherwise в with_columns
6. value_counts и частотный анализ
7. Биннинг и дискретизация: cut, qcut и ручная разбивка

Модуль 10. Работа со строками

6 уроков
1. Строковый namespace: str. — векторные операции над текстом
2. Базовые методы: to_lowercase, to_uppercase, strip_chars…
3. Поиск и извлечение: str.contains, str.extract, str.slice
4. Регулярные выражения: str.extract_all, str.replace…
5. Разбиение и сборка: str.split, str.join, str.json_decode
6. Типовая очистка текстовых колонок в ETL

Модуль 11. Дата и время

7 уроков
1. Типы дат: Date, Datetime, Duration — зачем правильные типы
2. Парсинг дат: str.to_date, str.to_datetime, форматы
3. dt namespace: year, month, day, hour, weekday
4. Арифметика дат: duration, dt.epoch_seconds, dt.offset_by
5. Усечение и округление: dt.truncate, dt.round
6. Работа с часовыми поясами: dt.convert_time_zone…
7. Практика: анализ заказов по дням, неделям, часам

Модуль 12. Группировка и агрегация

8 уроков
1. Идея группировки и объект GroupBy
2. Простые агрегаты: sum, mean, count, len, min, max
3. Несколько агрегатов: pl.col('x').agg1().agg2().alias(...)
4. Именованные агрегаты: pl.col('x')... .alias('name')
5. group_by_dynamic: группировка по временным интервалам
6. rolling: скользящие окна по индексу и по времени
7. map_groups: когда нужна пользовательская логика
8. Антипаттерны: group_by collect Python-цикл

Модуль 13. Оконные функции

6 уроков
1. Концепция окна: over и разделение по ключу
2. Ранжирование: rank, dense_rank, row_number
3. Доступ к соседним строкам: shift (lag/lead), forward/backward
4. Кумулятивные операции: cum_sum, cum_count, cum_min, cum_max
5. Оконные агрегаты: mean, sum, min/max в окне
6. mapping_strategy: group join vs explode implode

Модуль 14. Соединение таблиц

8 уроков
1. Концепция join: ключи и стратегии соединения
2. Inner join: пересечение двух таблиц
3. Left и right join: сохранение всех строк одной стороны
4. Semi и anti join: фильтрация через другую таблицу
5. Cross join и его опасности
6. Asof join: соединение по ближайшему времени
7. Join с несколькими ключами и разными именами колонок
8. Валидация join: проверка ключей, подсчёт строк до и после

Модуль 15. Изменение формы данных

7 уроков
1. concat: вертикальное и горизонтальное объединение
2. union: объединение с одинаковой схемой
3. pivot: строки в колонки
4. unpivot (melt): колонки в строки
5. explode: разворачивание списков в строки
6. partition_by: разбиение DataFrame по значениям колонки
7. transpose и другие редкие операции

Модуль 16. LazyFrame — ленивые вычисления

8 уроков
1. Идея LazyFrame: строим план, выполняем один раз
2. scan_csv и scan_parquet: ленивое чтение
3. Цепочки трансформаций: построение lazy-пайплайна
4. collect и fetch: выполнение плана
5. Профилирование lazy-запроса: profile, explain
6. Отладка lazy-пайплайнов: inspect и промежуточные collect
7. Кеширование планов: когда и как переиспользовать LazyFrame
8. Антипаттерны: collect в середине цепочки, потеря оптимизаций

Модуль 17. Оптимизатор запросов

7 уроков
1. Два плана: logical plan и physical plan
2. Predicate pushdown: фильтрация на источнике
3. Projection pushdown: чтение только нужных колонок
4. Slice pushdown: читаем не весь файл, а только нужные строки
5. Common subexpression elimination: не считаем дважды
6. Join optimization: порядок соединений и выбор стратегии
7. show_graph: визуализация плана для отладки

Модуль 18. Streaming и данные больше памяти

6 уроков
1. Streaming engine: обработка данных больше памяти
2. Когда streaming работает, а когда нет
3. Sinks: sink_csv, sink_parquet, sink_ipc — потоковая запись
4. Настройка памяти и OOM prevention
5. Практика: streaming-пайплайн для 50 млн заказов
6. Ограничения streaming и планирование падения на eager

Модуль 19. Производительность и параллелизм

7 уроков
1. Thread pool Polars: как устроен параллелизм
2. Chunks и rechunk: влияние на производительность
3. Профилирование: встроенные инструменты и внешние профайлеры
4. Проблема маленьких файлов: много Parquet = медленно
5. Parquet-статистика: row groups, min/max, predicate pushdown
6. Бенчмаркинг: как измерять и не обманывать себя
7. Чек-лист оптимизации Polars-пайплайна

Модуль 20. Тестирование и качество данных

6 уроков
1. Почему тестировать ETL обязательно: цена ошибки в данных
2. assert_frame_equal: сравнение ожидаемого и реального
3. Тестирование схем: проверка dtypes и структуры
4. Pytest и Polars: fixtures, parametrize, conftest
5. Тестирование с моками: подмена IO без реальных файлов
6. Great Expectations и другие фреймворки качества данных

Модуль 21. Production ETL/ELT пайплайны

7 уроков
1. Архитектура production-пайплайна: ingest transform publish
2. Идемпотентность: повторный запуск не ломает данные
3. Инкрементальная загрузка: только новые и изменённые данные
4. Партиционирование и хранение: Hive-партиции, layout
5. Обработка ошибок: retry, dead letter, graceful degradation
6. Логирование и мониторинг: как понять, что пайплайн сломался
7. Деплой: расписание, оркестрация, контейнеризация

Модуль 22. Продвинутые интеграции

6 уроков
1. Чтение из PostgreSQL: read_database, connection, query pushdown
2. Delta Lake: read_delta, scan_delta, time travel
3. Apache Iceberg: scan_iceberg, снапшоты, эволюция схемы
4. PyArrow interop: из Polars в Arrow и обратно
5. Pandas bridge: from_pandas, to_pandas, перенос мышления
6. Polars SQL: SQLContext и смешанные пайплайны

Модуль 23. Итоговый проект: end-to-end ETL интернет-магазина

5 уроков
1. Постановка задачи: end-to-end ETL для интернет-магазина
2. Ingestion и очистка: читаем, чистим, типизируем
3. Transform и enrichment: joins, агрегации, витрины
4. Production hardening: партиции, инкременты, тесты, мониторинг
5. Дорожная карта: куда расти дальше в мире Polars и Data…