Атрибут dayofyear
Атрибут dayofyear применяется к Series
с типом данных datetime64 или Period
и возвращает порядковый номер дня в году (от 1 до 366).
Результатом является Series с целочисленными значениями.
Атрибут не принимает никаких параметров.
Синтаксис
ser.dt.dayofyear
Пример
Давайте получим номер дня в году для нескольких дат:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=5, freq='D'))
print(ser)
Результат выполнения кода:
0 2026-01-01
1 2026-01-02
2 2026-01-03
3 2026-01-04
4 2026-01-05
dtype: datetime64[ns]
Теперь применим атрибут dayofyear:
res = ser.dt.dayofyear
print(res)
Результат выполнения кода:
0 1
1 2
2 3
3 4
4 5
dtype: int64
Пример
Давайте получим номера дней для дат из разных месяцев:
import pandas as pd
ser = pd.Series(['2026-01-15', '2026-02-01', '2026-03-01'])
ser = pd.to_datetime(ser)
res = ser.dt.dayofyear
print(res)
Результат выполнения кода:
0 15
1 32
2 60
dtype: int64
Пример
Давайте сравним номера дней для високосного и невисокосного года:
import pandas as pd
ser = pd.Series(['2023-12-31', '2024-12-31'])
ser = pd.to_datetime(ser)
res = ser.dt.dayofyear
print(res)
Результат выполнения кода:
0 365
1 366
dtype: int64