Как создать диапазон дат в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *