Содержание курса
1. Модуль 1. Введение: зачем дата-инженеру pandas и среда
7 уроков
163
82
52м
0
Закрытый
1.1
О курсе: как проходить обучение и канал «Логово Дата-Инженера»
↗
65
19
3м 12с
0
Закрытый
1.2
Почему pandas — ключевой инструмент дата-инженера в Python
↗
23
14
6м 50с
0
Закрытый
1.3
Установка: Python, окружение и pandas 2.x
↗
16
10
9м 13с
0
Закрытый
1.4
Jupyter Notebook и IPython: рабочее место для данных
↗
14
11
10м 52с
0
Закрытый
1.5
Минимум NumPy для pandas: массивы, dtype, векторизация
↗
17
11
15м 48с
0
Закрытый
1.6
Импорт pandas, проверка версии и экосистема (NumPy, PyArrow)
↗
14
8
7м 41с
0
Закрытый
1.7
Как читать ошибки pandas и быстрый цикл эксперимента
↗
14
9
2м 57с
0
2. Модуль 2. Series — одномерная структура
7 уроков
65
35
25м
0
Закрытый
2.1
Что такое Series: значения плюс индекс-метки
↗
14
8
14м 43с
0
Закрытый
2.2
Создание Series из списка, словаря и скаляра
↗
11
7
6м 42с
0
Закрытый
2.3
Индекс Series: метки против позиций
↗
10
5
2м 40с
0
Закрытый
2.4
Доступ к элементам Series по метке и по позиции
↗
10
5
4м 49с
0
Закрытый
2.5
Типы данных dtype у Series
↗
7
4
-
0
Закрытый
2.6
Векторизованные операции и выравнивание по индексу
↗
7
3
-
0
Закрытый
2.7
Пропуски в Series: NaN и его особенности
↗
6
3
-
0
3. Модуль 3. DataFrame — основа
8 уроков
36
20
0м
0
Закрытый
3.1
Что такое DataFrame: таблица из колонок-Series
↗
7
4
-
0
Закрытый
3.2
Создание DataFrame: словарь, список словарей, NumPy
↗
5
2
-
0
Закрытый
3.3
Индекс, колонки и dtypes; атрибуты shape, columns, index
↗
4
2
-
0
Закрытый
3.4
Осмотр данных: head, tail, sample, info, describe
↗
5
3
-
0
Закрытый
3.5
Выбор колонок: одной и нескольких
↗
3
2
-
0
Закрытый
3.6
Добавление, вычисление и удаление колонок
↗
5
3
-
0
Закрытый
3.7
Переименование колонок и индекса
↗
3
2
-
0
Закрытый
3.8
set_index и reset_index: колонка как индекс и обратно
↗
4
2
-
0
4. Модуль 4. Индексация и выборка
9 уроков
32
19
0м
0
Закрытый
4.1
Две системы доступа: loc по меткам и iloc по позициям
↗
4
2
-
0
Закрытый
4.2
loc подробно: метки, срезы, списки
↗
4
3
-
0
Закрытый
4.3
iloc подробно: позиции и срезы
↗
3
2
-
0
Закрытый
4.4
Булева индексация: отбор строк по условию
↗
3
2
-
0
Закрытый
4.5
Сложные условия: операторы &, | , ~ и скобки
↗
5
2
-
0
Закрытый
4.6
Фильтры isin, between и отбор по нескольким колонкам
↗
3
2
-
0
Закрытый
4.7
Метод query: фильтрация выражением-строкой
↗
3
2
-
0
Закрытый
4.8
Присваивание через loc и предупреждение SettingWithCopyWarning
↗
4
2
-
0
Закрытый
4.9
Копия против представления и Copy-on-Write в pandas 2.x
↗
3
2
-
0
5. Модуль 5. Ввод и вывод данных
8 уроков
26
14
0м
0
Закрытый
5.1
Единый API ввода-вывода: семейства read_ и to_
↗
5
2
-
0
Закрытый
5.2
Чтение CSV: основные опции sep, header, names, dtype
↗
4
2
-
0
Закрытый
5.3
CSV глубже: parse_dates, кодировки, пропуски, проблемные строки
↗
4
2
-
0
Закрытый
5.4
Чтение больших CSV по частям: chunksize
↗
3
2
-
0
Закрытый
5.5
JSON: чтение, запись и разворачивание вложенного json_normalize
↗
3
2
-
0
Закрытый
5.6
Excel: чтение листов через read_excel
↗
3
2
-
0
Закрытый
5.7
Parquet и Feather: колоночные форматы для дата-инженера
↗
2
1
-
0
Закрытый
5.8
Чтение и запись через SQL: read_sql и to_sql
↗
2
1
-
0
6. Модуль 6. Типы данных и память
7 уроков
16
7
0м
0
Закрытый
6.1
Обзор dtypes pandas: числа, bool, object, datetime, category
↗
2
1
-
0
Закрытый
6.2
Тип object и почему он дорогой; строковый тип
↗
2
1
-
0
Закрытый
6.3
Nullable-типы: Int64, boolean, string и пропуски
↗
2
1
-
0
Закрытый
6.4
Категориальный тип category: экономия памяти и скорость
↗
2
1
-
0
Закрытый
6.5
astype и понижение разрядности (downcasting)
↗
2
1
-
0
Закрытый
6.6
Измерение и оптимизация памяти DataFrame
↗
3
1
-
0
Закрытый
6.7
PyArrow-backend в pandas 2.x: когда включать
↗
3
1
-
0
7. Модуль 7. Очистка данных
8 уроков
22
8
0м
0
Закрытый
7.1
Пропущенные значения: NaN, None, NaT и pd.NA
↗
4
2
-
0
Закрытый
7.2
Поиск и подсчёт пропусков: isna, notna
↗
4
0
-
0
Закрытый
7.3
Удаление пропусков: dropna и его параметры
↗
2
1
-
0
Закрытый
7.4
Заполнение пропусков: fillna, ffill, bfill, интерполяция
↗
3
1
-
0
Закрытый
7.5
Дубликаты: duplicated и drop_duplicates
↗
3
1
-
0
Закрытый
7.6
Замена значений: replace и сопоставление по словарю
↗
2
1
-
0
Закрытый
7.7
Приведение «грязных» чисел и дат к нужным типам
↗
2
1
-
0
Закрытый
7.8
Сквозной пример: чистим реальный грязный датасет
↗
2
1
-
0
8. Модуль 8. Преобразование данных
7 уроков
15
7
0м
0
Закрытый
8.1
Векторизация против циклов по строкам: почему циклы — зло
↗
2
1
-
0
Закрытый
8.2
assign: вычисляемые колонки без мутации
↗
2
1
-
0
Закрытый
8.3
map для Series: поэлементное преобразование
↗
2
1
-
0
Закрытый
8.4
apply: применение функции к Series и DataFrame
↗
2
1
-
0
Закрытый
8.5
Условная замена: where и mask
↗
3
1
-
0
Закрытый
8.6
Условные колонки: np.where, np.select, pd.cut, pd.qcut
↗
2
1
-
0
Закрытый
8.7
Когда apply оправдан, а когда это ловушка производительности
↗
2
1
-
0
9. Модуль 9. Работа со строками
6 уроков
12
5
0м
0
Закрытый
9.1
Строковый аксессор .str: векторные операции над текстом
↗
2
1
-
0
Закрытый
9.2
Базовые методы: lower, upper, strip, len, contains
↗
2
0
-
0
Закрытый
9.3
Разбиение и сборка строк: split, cat, join
↗
2
1
-
0
Закрытый
9.4
Регулярные выражения: extract, replace, findall
↗
2
1
-
0
Закрытый
9.5
Проверки: startswith, endswith, isnumeric, match
↗
2
1
-
0
Закрытый
9.6
Типовая очистка текстовых колонок в пайплайне
↗
2
1
-
0
10. Модуль 10. Дата и время
8 уроков
14
5
0м
0
Закрытый
10.1
Тип datetime64 и Timestamp: зачем правильные типы дат
↗
2
1
-
0
Закрытый
10.2
Разбор дат: to_datetime, форматы и обработка ошибок
↗
2
1
-
0
Закрытый
10.3
Аксессор .dt: компоненты даты и времени
↗
2
1
-
0
Закрытый
10.4
Арифметика дат и Timedelta
↗
2
1
-
0
Закрытый
10.5
DatetimeIndex: даты в роли индекса
↗
2
1
-
0
Закрытый
10.6
Ресемплинг временных рядов: resample
↗
2
0
-
0
Закрытый
10.7
Скользящие агрегаты по времени
↗
1
0
-
0
Закрытый
10.8
Часовые пояса: tz_localize и tz_convert
↗
1
0
-
0
11. Модуль 11. Группировка и агрегация
10 уроков
10
1
0м
0
Закрытый
11.1
Идея split-apply-combine и объект groupby
↗
1
0
-
0
Закрытый
11.2
Простые агрегаты по группам: sum, mean, count, size
↗
1
0
-
0
Закрытый
11.3
agg: несколько агрегатов и именованные агрегаты
↗
1
0
-
0
Закрытый
11.4
Разные агрегаты для разных колонок
↗
1
0
-
0
Закрытый
11.5
transform: результат размера исходных данных
↗
1
0
-
0
Закрытый
11.6
filter: отбор целых групп по условию
↗
1
0
-
0
Закрытый
11.7
apply на группах: гибкость и её цена
↗
1
0
-
0
Закрытый
11.8
Группировка по нескольким ключам
↗
1
0
-
0
Закрытый
11.9
Группировка по производному ключу: функция, бины, период
↗
1
0
-
0
Закрытый
11.10
as_index, reset_index и типичные ошибки groupby
↗
1
1
-
0
12. Модуль 12. Объединение данных
9 уроков
9
0
0м
0
Закрытый
12.1
Конкатенация concat по строкам и колонкам
↗
1
0
-
0
Закрытый
12.2
merge: соединения в стиле SQL
↗
1
0
-
0
Закрытый
12.3
Типы соединений: inner, left, right, outer
↗
1
0
-
0
Закрытый
12.4
Ключи соединения: on, left_on/right_on, по индексу
↗
1
0
-
0
Закрытый
12.5
Размножение строк при merge — главная ловушка
↗
1
0
-
0
Закрытый
12.6
Валидация соединений: validate и indicator
↗
1
0
-
0
Закрытый
12.7
join по индексу
↗
1
0
-
0
Закрытый
12.8
merge_asof и merge_ordered для временных рядов
↗
1
0
-
0
Закрытый
12.9
combine_first и update: дополнение и обновление
↗
1
0
-
0
13. Модуль 13. Изменение формы данных
8 уроков
8
0
0м
0
Закрытый
13.1
Длинный и широкий форматы данных: зачем и когда
↗
1
0
-
0
Закрытый
13.2
pivot: из длинного в широкий
↗
1
0
-
0
Закрытый
13.3
pivot_table: сводные таблицы с агрегацией
↗
1
0
-
0
Закрытый
13.4
melt: из широкого в длинный
↗
1
0
-
0
Закрытый
13.5
stack и unstack
↗
1
0
-
0
Закрытый
13.6
crosstab: таблицы сопряжённости
↗
1
0
-
0
Закрытый
13.7
get_dummies: one-hot кодирование категорий
↗
1
0
-
0
Закрытый
13.8
explode: разворачивание списков в строки
↗
1
0
-
0
14. Модуль 14. Иерархический индекс (MultiIndex)
6 уроков
6
0
0м
0
Закрытый
14.1
Что такое MultiIndex и откуда он берётся
↗
1
0
-
0
Закрытый
14.2
Создание иерархического индекса; set_index по нескольким…
↗
1
0
-
0
Закрытый
14.3
Доступ к данным по уровням: loc и xs
↗
1
0
-
0
Закрытый
14.4
Сортировка уровней и swaplevel
↗
1
0
-
0
Закрытый
14.5
Агрегация по уровням MultiIndex
↗
1
0
-
0
Закрытый
14.6
Сглаживание индекса: когда MultiIndex мешает
↗
1
0
-
0
15. Модуль 15. Оконные и накопительные операции
6 уроков
6
0
0м
0
Закрытый
15.1
Накопительные функции: cumsum, cumprod, cummax
↗
1
0
-
0
Закрытый
15.2
Скользящее окно rolling
↗
1
0
-
0
Закрытый
15.3
Расширяющееся окно expanding
↗
1
0
-
0
Закрытый
15.4
Экспоненциально взвешенное окно ewm
↗
1
0
-
0
Закрытый
15.5
shift, diff и pct_change
↗
1
0
-
0
Закрытый
15.6
Оконные операции внутри групп
↗
1
0
-
0
16. Модуль 16. Производительность и масштаб
9 уроков
10
0
0м
0
Закрытый
16.1
Откуда берётся медленный pandas
↗
1
0
-
0
Закрытый
16.2
Векторизация и встроенные методы вместо apply
↗
1
0
-
0
Закрытый
16.3
Правильные dtypes как ускорение
↗
1
0
-
0
Закрытый
16.4
eval и query для больших выражений
↗
1
0
-
0
Закрытый
16.5
Обработка данных больше памяти: chunking
↗
1
0
-
0
Закрытый
16.6
Профилирование времени и памяти
↗
1
0
-
0
Закрытый
16.7
Копии, представления и Copy-on-Write на практике
↗
1
0
-
0
Закрытый
16.8
Когда pandas перестаёт справляться
↗
2
0
-
0
Закрытый
16.9
Альтернативы для масштаба: Polars, Dask, DuckDB, Spark
↗
1
0
-
0
17. Модуль 17. pandas глазами дата-инженера
6 уроков
8
0
0м
0
Закрытый
17.1
pandas против SQL: переносим мышление
↗
2
0
-
0
Закрытый
17.2
pandas против Spark: одна машина против кластера
↗
1
0
-
0
Закрытый
17.3
Место pandas в дата-платформе: где уместен, где нет
↗
2
0
-
0
Закрытый
17.4
Идемпотентность и детерминизм pandas-пайплайна
↗
1
0
-
0
Закрытый
17.5
Контракты данных и валидация схемы
↗
1
0
-
0
Закрытый
17.6
Логирование и наблюдаемость pandas-джоба
↗
1
0
-
0
18. Модуль 18. Качество данных и тестирование
6 уроков
6
0
0м
0
Закрытый
18.1
Проверки качества данных: ассерты и ожидания
↗
1
0
-
0
Закрытый
18.2
Тестирование pandas-кода: assert_frame_equal и pytest
↗
1
0
-
0
Закрытый
18.3
Фикстуры с тестовыми DataFrame
↗
1
0
-
0
Закрытый
18.4
Профилирование данных: describe, value_counts, пропуски
↗
1
0
-
0
Закрытый
18.5
Поиск аномалий и выбросов
↗
1
0
-
0
Закрытый
18.6
Чек-лист код-ревью pandas-пайплайна
↗
1
0
-
0
19. Модуль 19. Продакшн-пайплайн на pandas
6 уроков
7
0
0м
0
Закрытый
19.1
Структура pandas-ETL проекта: модули и конфиги
↗
2
0
-
0
Закрытый
19.2
Параметризация и запуск через CLI
↗
1
0
-
0
Закрытый
19.3
Чтение источников и запись приёмников
↗
1
0
-
0
Закрытый
19.4
Метод-чейнинг и pipe: читаемые конвейеры
↗
1
0
-
0
Закрытый
19.5
Обработка ошибок и частичных данных
↗
1
0
-
0
Закрытый
19.6
Упаковка и запуск pandas-джоба
↗
1
0
-
0
20. Модуль 20. Итоговый проект: end-to-end ETL на pandas
6 уроков
17
2
0м
0
Закрытый
20.1
Постановка задачи: пакетный ETL на pandas
↗
3
0
-
0
Закрытый
20.2
Слои данных: raw, cleansed, curated
↗
3
0
-
0
Закрытый
20.3
Проектируем доменную модель и шаги пайплайна
↗
2
0
-
0
Закрытый
20.4
Реализация: чтение, очистка, трансформации, агрегации
↗
3
0
-
0
Закрытый
20.5
Тесты, запуск и оптимизация пайплайна
↗
4
1
-
0
Закрытый
20.6
Дорожная карта: что дальше за пределами pandas
↗
2
1
-
0