Атрибут dt.is_year_start
Атрибут is_year_start аксессора dt применяется к Series
с данными типа datetime и возвращает Series булевых значений.
Значение True устанавливается для дат, которые являются первым днём года
(1 января). Для всех остальных дат возвращается False. Этот атрибут
не принимает никаких параметров.
Синтаксис
ser.dt.is_year_start
Пример
Создадим Series с датами и проверим, какие из них являются началом года:
import pandas as pd
ser = pd.Series(pd.date_range('2025-12-25', periods=10, freq='D'))
print(ser.dt.is_year_start)
Результат выполнения кода:
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 True
8 False
9 False
dtype: bool
Из десяти дат только одна (8-й элемент, 1 января 2026 года) получила
значение True.
Пример
Используем этот атрибут для фильтрации исходной серии. Оставим только те даты, которые являются началом года:
import pandas as pd
ser = pd.Series(pd.date_range('2024-01-01', periods=730, freq='D'))
year_starts = ser[ser.dt.is_year_start]
print(year_starts)
Результат выполнения кода:
0 2024-01-01
366 2025-01-01
731 2026-01-01
dtype: datetime64[ns]
В диапазоне двух лет (2024-2026) нашлись только три даты, приходящиеся на 1 января.
Пример
Применим атрибут is_year_start к нерегулярному ряду дат:
import pandas as pd
ser = pd.Series(pd.to_datetime(['2025-01-01', '2025-06-15', '2026-01-01', '2027-02-01']))
print(ser.dt.is_year_start)
Результат выполнения кода:
0 True
1 False
2 True
3 False
dtype: bool
Смотрите также
-
атрибут
is_year_end,
который проверяет, является ли дата концом года -
атрибут
is_month_start,
который проверяет, является ли дата началом месяца -
атрибут
is_month_end,
который проверяет, является ли дата концом месяца -
атрибут
is_leap_year,
который проверяет, является ли год високосным