с ключом «pandas»: reshape, временные ряды и финал курса — pivot, melt, resample, rolling, pct_change для аналитика
Это часть 10 из 10 курса «Pandas с нуля для аналитика».
Финальная тема — и самая «магическая» на собесах. Reshape (переформатирование таблиц) и временные ряды — то, на чём junior'ы спотыкаются, а senior'ы экономят часы. Когда ты умеешь крутить таблицу из «широкой» в «длинную» и обратно, считать скользящее среднее одной строкой и сравнивать «сегодня vs вчера» — ты перестаёшь писать костыли и начинаешь думать как аналитик.
pivot разворачивает длинный формат в широкий (значения из колонки становятся отдельными столбцами), а melt делает обратное — сворачивает широкую таблицу в длинную с колонками variable и value. melt нужен для приведения данных к tidy-формату.
Используйте resample на DataFrame с DatetimeIndex: df.resample('M')['sales'].sum() для помесячной суммы, 'W' для недель, 'D' для дней. Это аналог groupby по периодам времени с автоматическим заполнением пропущенных интервалов.
rolling считает скользящие оконные метрики: df['sales'].rolling(7).mean() даёт скользящее среднее за 7 периодов для сглаживания тренда. В отличие от resample, который меняет частоту, rolling сохраняет число строк и движется окном по ряду.