Атрибут year
Атрибут year класса DatetimeIndex
позволяет извлечь числовые значения года из каждой
даты, содержащейся в индексе. Он не принимает
параметров и возвращает объект Index,
содержащий целые числа. Этот атрибут часто
используется для фильтрации данных, группировки
или создания новых признаков на основе временных
рядов.
Синтаксис
datetime_index.year
Пример
Давайте создадим DatetimeIndex и извлечём из него значения года:
import pandas as pd
dates = pd.to_datetime(['2020-01-01', '2021-06-15', '2022-12-31'])
idx = pd.DatetimeIndex(dates)
print(idx.year)
Результат выполнения кода:
Index([2020, 2021, 2022], dtype='int64')
Пример
Используем атрибут year вместе с DataFrame.
Создадим таблицу с временным индексом и выделим столбец года:
import pandas as pd
dates = pd.date_range('2023-01-01', periods=5, freq='M')
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
}, index=dates)
df['year'] = df.index.year
print(df)
Результат выполнения кода:
a b year
2023-01-31 1 10 2023
2023-02-28 2 20 2023
2023-03-31 3 30 2023
2023-04-30 4 40 2023
2023-05-31 5 50 2023
Пример
Используем year для фильтрации строк по году.
Отберём только записи за 2024 год:
import pandas as pd
dates = pd.date_range('2024-01-01', periods=6, freq='ME')
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5, 6],
'b': [10, 20, 30, 40, 50, 60]
}, index=dates)
filtered_df = df[df.index.year == 2024]
print(filtered_df)
Результат выполнения кода:
a b
2024-01-31 1 10
2024-02-29 2 20
2024-03-31 3 30
2024-04-30 4 40
2024-05-31 5 50
2024-06-30 6 60