Атрибут is_quarter_end
Атрибут is_quarter_end аксессора dt применяется к Series
с типом данных datetime и возвращает булев массив, где True
означает, что соответствующая дата является последним днём квартала,
а False - что не является. Атрибут не принимает никаких
параметров и работает только для временных рядов.
Синтаксис
series.dt.is_quarter_end
Пример
Создадим серию с датами и проверим, какие из них являются последним днём квартала:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=15, freq='M'))
print(ser)
Результат выполнения кода:
0 2026-01-31
1 2026-02-28
2 2026-03-31
3 2026-04-30
4 2026-05-31
5 2026-06-30
6 2026-07-31
7 2026-08-31
8 2026-09-30
9 2026-10-31
10 2026-11-30
11 2026-12-31
12 2027-01-31
13 2027-02-28
14 2027-03-31
dtype: datetime64[ns]
Теперь применим атрибут is_quarter_end:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=15, freq='M'))
res = ser.dt.is_quarter_end
print(res)
Результат выполнения кода:
0 False
1 False
2 True
3 False
4 False
5 True
6 False
7 False
8 True
9 False
10 False
11 True
12 False
13 False
14 True
dtype: bool
Значения True соответствуют датам 31 марта, 30 июня,
30 сентября и 31 декабря - последним дням кварталов.
Пример
Фильтрация данных по концу квартала с использованием булевой маски:
import pandas as pd
ser = pd.Series(pd.date_range('2025-07-01', periods=10, freq='D'))
res = ser[ser.dt.is_quarter_end]
print(res)
Результат выполнения кода:
91 2025-09-30
dtype: datetime64[ns]
В данном случае среди десяти последовательных дней только одна дата оказалась концом квартала.
Пример
Сравним работу атрибутов is_quarter_end и
is_quarter_start на одном наборе данных:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=12, freq='M'))
ends = ser.dt.is_quarter_end
starts = ser.dt.is_quarter_start
print("Ends of quarter:")
print(ser[ends])
print("\nStarts of quarter:")
print(ser[starts])
Результат выполнения кода:
Ends of quarter:
2 2026-03-31
5 2026-06-30
8 2026-09-30
11 2026-12-31
dtype: datetime64[ns]
Starts of quarter:
0 2026-01-01
3 2026-04-01
6 2026-07-01
9 2026-10-01
dtype: datetime64[ns]
Смотрите также
-
атрибут
is_quarter_start,
который определяет начало квартала -
атрибут
is_month_end,
который проверяет последний день месяца -
атрибут
is_year_end,
который указывает на последний день года -
атрибут
quarter,
который возвращает номер квартала