Как создать диапазон дат в pandas (3 примера)
Вы можете использовать функцию pandas.date_range() для создания диапазона дат в pandas.
Эта функция использует следующий базовый синтаксис:
pandas.date_range(начало, конец, периоды, частота,…)
Золото:
- начало : дата начала
- конец : дата окончания
- периоды: количество периодов для генерации
- freq : используемая частота (псевдонимы частот см. в этом списке ).
Следующие примеры показывают, как использовать эту функцию на практике.
Пример 1. Создайте диапазон дат с отдельными днями.
Следующий код показывает, как создать диапазон дат, состоящий из отдельных дней с определенной датой начала и окончания:
import pandas as pd #create 10-day date range p.d. date_range (start=' 1/1/2020 ', end= '10/1/2020 ') DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10'], dtype='datetime64[ns]', freq='D')
Результатом является список из 10 дней от указанной даты начала до указанной даты окончания.
Пример 2. Создайте диапазон дат с определенным количеством периодов.
Следующий код показывает, как создать диапазон дат с определенным количеством периодов, равноудаленных между определенной датой начала и окончания:
import pandas as pd #create 10-day date range with 3 equally-spaced periods p.d. date_range (start=' 1/1/2020 ', end=' 1/10/2020 ', periods= 3 ) DatetimeIndex(['2020-01-01 00:00:00', '2020-01-05 12:00:00', '2020-01-10 00:00:00'], dtype='datetime64[ns]', freq=None)
Результатом является список из трех равноудаленных дней от указанной даты начала до указанной даты окончания.
Пример 3. Создайте диапазон дат с определенной частотой.
Следующий код показывает, как создать диапазон дат, который начинается с определенной даты и имеет частоту начала в шесть месяцев:
import pandas as pd #create date range with six month start dates p.d. date_range (start=' 1/1/2020 ', freq=' MS ', periods= 6 ) DatetimeIndex(['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01', '2020-05-01', '2020-06-01'], dtype='datetime64[ns]', freq='MS')
Результатом является список из шести дат, каждая из которых находится на расстоянии одного месяца. Обратите внимание, что « MS » означает «Начало месяца». Полный список псевдонимов дат можно найти здесь .
Следующий код показывает, как создать диапазон дат, начинающийся с определенной даты и имеющий годовую частоту:
import pandas as pd #create date range with six consecutive years p.d. date_range (start=' 1/1/2020 ', freq=' YS ', periods= 6 ) DatetimeIndex(['2020-01-01', '2021-01-01', '2022-01-01', '2023-01-01', '2024-01-01', '2025-01-01'], dtype='datetime64[ns]', freq='AS-JAN')
Результатом является список из шести дат, каждая из которых находится на расстоянии одного года.
Примечание . Полную онлайн-документацию по функции pd.date_range() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции с датами в pandas:
Как фильтровать строки Pandas DataFrame по дате
Как отсортировать DataFrame Pandas по дате
Как извлечь месяц из даты в Pandas