Атрибут components
Атрибут components применяется к Series
с типом данных datetime и возвращает DataFrame,
в котором каждый столбец представляет отдельный компонент
даты и времени. Возвращаемый DataFrame содержит такие
компоненты, как год, месяц, день, час, минута, секунда
и другие. Это удобный способ получить все числовые
характеристики даты и времени в одном месте.
Синтаксис
ser.dt.components
Пример
Создадим Series с датами и выведем все её компоненты:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=3))
res = ser.dt.components
print(res)
Результат выполнения кода:
year month day hour minute second dayofweek quarter ...
0 2026 1 1 0 0 0 3 1 ...
1 2026 1 2 0 0 0 4 1 ...
2 2026 1 3 0 0 0 5 1 ...
Пример
Давайте получим только нужные компоненты из DataFrame:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=5, freq='M'))
res = ser.dt.components[['year', 'month', 'day']]
print(res)
Результат выполнения кода:
year month day
0 2026 1 31
1 2026 2 28
2 2026 3 31
3 2026 4 30
4 2026 5 31
Пример
Компоненты можно использовать для фильтрации данных:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=10, freq='D'))
res = ser[ser.dt.components.month == 1]
print(res)
Результат выполнения кода:
0 2026-01-01
1 2026-01-02
2 2026-01-03
3 2026-01-04
4 2026-01-05
5 2026-01-06
6 2026-01-07
7 2026-01-08
8 2026-01-09
9 2026-01-10
dtype: datetime64[ns]