Як створити діапазон дат у pandas (3 приклади)


Ви можете використовувати функцію pandas.date_range() , щоб створити діапазон дат у pandas.

Ця функція використовує такий базовий синтаксис:

pandas.date_range(початок, кінець, періоди, частота, …)

золото:

  • початок : дата початку
  • end : кінцева дата
  • periods: кількість періодів для створення
  • 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 рівновіддалених днів від зазначеної дати початку до вказаної дати завершення.

Приклад 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 за датою
Як відсортувати Pandas DataFrame за датою
Як витягти місяць із дати в Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *