Даты и rolling в pandas: 6 задач с проверкой
Практикум для тех, кто уже умеет создавать DataFrame и выбирать строки. Здесь шесть упражнений: два вопроса на чтение результата и четыре задачи на Python с автоматической проверкой. Можно решать без регистрации; устанавливать pandas для встроенных задач не нужно.
Маршрут: от даты заказа к скользящему показателю
Сначала преобразуйте строку в дату и извлеките нужные компоненты через .dt. Затем перейдите к сортировке наблюдений и скользящим расчётам. В задачах соблюдайте заданные имена столбцов и формат вывода: проверка сравнивает результат с условием конкретного упражнения.
Разобранный пример: почему важен порядок строк
import pandas as pd
df = pd.DataFrame({
"day": ["2026-01-03", "2026-01-01", "2026-01-02"],
"sales": [30, 10, 20],
})
df["day"] = pd.to_datetime(df["day"])
df = df.sort_values("day").reset_index(drop=True)
df["mean_2"] = df["sales"].rolling(2).mean()
print(df["sales"].tolist())
print(df["mean_2"].tolist())
Результат:
[10, 20, 30]
[nan, 15.0, 25.0]
Окно из двух наблюдений ещё не заполнено в первой строке. Если явно поставить min_periods=1, первое среднее будет равно 10. Это другой смысл расчёта: первые значения опираются на меньшее число наблюдений.
Что проверить перед запуском
- Строки дат преобразованы в datetime. Сортировка строк произвольного формата не заменяет разбор дат.
- Порядок наблюдений задан явно.
rollingне сортирует таблицу за вас. rolling(3)означает три строки, а не обязательно три календарных дня. Пропуски дат и несколько событий за день меняют смысл такого окна.- Фильтр только по номеру месяца объединит этот месяц за разные годы. В реальном отчёте задавайте нужный период; в упражнении следуйте его условию.
- Ноль и отсутствие наблюдения имеют разный смысл. Заполнение пропусков должно соответствовать задаче отчёта.
Упражнения по порядку
- Временные столбцы: парсинг, .dt-компоненты, длительности и фильтрация — задача по NumPy и pandas — вопрос с проверкой.
- pandas dt: год, месяц, день недели и фильтрация дат — код Python.
- rolling: скользящие агрегаты по упорядоченным данным — задача по NumPy и pandas — вопрос с проверкой.
- pandas rolling: скользящее среднее и размер окна — код Python.
- Pandas rolling min_periods: сравните два скользящих средних — код Python.
- pandas rolling: скользящая сумма после сортировки таблицы — код Python.
В последнем упражнении окно применяется ко всей таблице после сортировки по региону и месяцу, как явно задано в условии. Это тренировка механики rolling, а не расчёт независимых показателей по регионам. Для отдельного показателя каждого региона потребовалась бы группировка.
Продолжение практики
Для пропусков и типов есть подборка по очистке pandas, для группировки — groupby и merge. Общий маршрут доступен в бесплатном тренажёре NumPy и pandas.
Если с кодом уже уверенно, следующий шаг — выбирать бизнес-метрики и объяснять результат. В платном курсе «Практическая аналитика данных» расчёты на SQL или pandas связаны с кейсами продаж, клиентов и рекламных каналов, а выводы — с дашбордами DataLens. Сначала посмотрите программу и требования к подготовке.
- Временные столбцы: парсинг, .dt-компоненты, длительности и фильтрация — задача по NumPy и pandas
Практическая задача по теме «Временные столбцы: парсинг, .dt-компоненты, длительности и фильтрация» с проверкой ответа онлайн.
NumPy и pandas: практический тренажёр - pandas dt: год, месяц, день недели и фильтрация дат
Как извлечь year, month и weekday из дат pandas? Преобразование строк в даты, пример фильтра и задача с проверкой.
NumPy и pandas: практический тренажёр - rolling: скользящие агрегаты по упорядоченным данным — задача по NumPy и pandas
mean() Сколько значений NaN будет в result? Проверьте ответ в задаче из бесплатного курса NumPy и pandas.
NumPy и pandas: практический тренажёр - pandas rolling: скользящее среднее и размер окна
Почему rolling mean возвращает NaN в начале ряда? Разберите размер окна, минимальное число наблюдений и сортировку. Задача pandas.
NumPy и pandas: практический тренажёр - Pandas rolling minperiods: сравните два скользящих средних
Вычислите скользящее среднее с разным minperiods и разберите пропуски в начале ряда. Задача pandas с проверкой.
NumPy и pandas: практический тренажёр - pandas rolling: скользящая сумма после сортировки таблицы
Как порядок строк и минимум наблюдений влияют на pandas rolling. Пример скользящей суммы по всей таблице и задача с проверкой Python.
NumPy и pandas: практический тренажёр
