Курс на 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… ↗