Класс DatetimeIndex
Класс DatetimeIndex применяется для создания
индекса на основе дат и времени в pandas.
Он предоставляет удобный доступ к компонентам даты,
поддерживает операции с временными рядами
и позволяет выполнять выборку по датам.
Синтаксис
pd.DatetimeIndex(data, freq=None, tz=None, normalize=False)
Основные параметры класса:
-
data- данные для создания индекса (список дат, строка или массив) -
freq- частота (строка), например 'D' для дней или 'H' для часов -
tz- временная зона (строка) -
normalize- приводить ли даты к полуночи (булево)
Пример
Давайте создадим простой индекс с датами:
import pandas as pd
dates = pd.DatetimeIndex(['2026-01-01', '2026-01-02', '2026-01-03'])
df = pd.DataFrame({'a': [1, 2, 3], 'b': [10, 20, 30]}, index=dates)
print(df)
Результат выполнения кода:
a b
2026-01-01 1 10
2026-01-02 2 20
2026-01-03 3 30
Пример
Создадим индекс с автоматической генерацией дат
с помощью функции date_range:
import pandas as pd
index = pd.date_range('2026-01-01', periods=5, freq='D')
df = pd.DataFrame({'a': [1, 2, 3, 4, 5]}, index=index)
print(df)
Результат выполнения кода:
a
2026-01-01 1
2026-01-02 2
2026-01-03 3
2026-01-04 4
2026-01-05 5
Пример
Выполним выборку данных по определённой дате:
import pandas as pd
dates = pd.DatetimeIndex(['2026-01-01', '2026-01-02', '2026-01-03'])
df = pd.DataFrame({'a': [1, 2, 3]}, index=dates)
res = df.loc['2026-01-02']
print(res)
Результат выполнения кода:
a 2
Name: 2026-01-02 00:00:00, dtype: int64
Пример
Извлечём компоненты даты из индекса:
import pandas as pd
index = pd.DatetimeIndex(['2026-01-01', '2026-02-01', '2026-03-01'])
df = pd.DataFrame({'a': [1, 2, 3]}, index=index)
res = df.index.year
print(res)
Результат выполнения кода:
Index([2026, 2026, 2026], dtype='int64')