Модели машинного обучения, базирующиеся на временных рядах, требуют хороших навыков обработки даты и времени. В этой статье рассмотрим основные объекты, представляющие необходимый функционал в Pandas.
Метки даты и времени
Для меток даты и времени в Pandas предназначен тип Timestamp - аналог datetime.datetime из стандартной библиотеки Python и основанный на типе numpy.datetime64. Конструкция из нескольких Timestamp называется DatetimeIndex. Проще всего создать Timestamp, используя строчную нотацию:
Чтобы сгенерировать диапазон Timestamp, следует воспользоваться функцией date_range. На вход ей можно задать комбинацию из трех параметров среди следующих: start, end, periods, freq (начало, конец, количество периодов, частота):
Период времени
Соответствующий объект представлен классом Period, который основан на типе numpy.datetime64. Список "периодов" хранится в PeriodIndex.
Справочник значений частот можно найти в официальной документации. Для генерации диапазонов периодов удобно использовать функцию period_range:
Как можно заметить, в period_range мы вольны использовать любую из двух комбинаций параметров: начало периода, их количество + частота или начало и конец периода + частота.
Временные промежутки
Для временных продолжительностей существует специальный тип Timedelta - аналог datetime.timedelta и основанный на numpy.timedelta64. Массив таких объектов - TimedeltaIndex по аналогии с временными метками может быть создан путем вызова функции timedelta_range с тройкой из параметров start, end, periods, freq (начало, конец, количество периодов, частота):