Атрибут quarter
Атрибут quarter применяется к Series
с типом данных datetime64 и возвращает
номер квартала (от 1 до 4) для каждой
даты. Кварталы распределяются следующим образом:
январь-март - 1, апрель-июнь - 2,
июль-сентябрь - 3, октябрь-декабрь - 4.
Этот атрибут полезен при группировке данных по
кварталам или анализе сезонности.
Синтаксис
ser.dt.quarter
Пример
Давайте создадим серию с датами и получим номера кварталов для каждой из них:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01', periods=12, freq='ME'))
res = ser.dt.quarter
print(res)
Результат выполнения кода:
0 1
1 1
2 1
3 2
4 2
5 2
6 3
7 3
8 3
9 4
10 4
11 4
dtype: int32
Пример
Теперь добавим даты из разных лет и посмотрим, как атрибут обрабатывает переход между годами:
import pandas as pd
ser = pd.Series(pd.to_datetime([
'2025-12-15',
'2026-01-01',
'2026-03-31',
'2026-04-01'
]))
res = ser.dt.quarter
print(res)
Результат выполнения кода:
0 4
1 1
2 1
3 2
dtype: int32
Как видим, декабрь относится к четвертому кварталу, а январь и март - к первому. Апрель начинает второй квартал.
Пример
Используем атрибут для группировки данных по кварталам и подсчёта записей в каждом квартале:
import pandas as pd
dates = pd.date_range('2025-01-01', periods=24, freq='ME')
ser = pd.Series(range(1, 25), index=dates)
res = ser.groupby(ser.index.quarter).sum()
print(res)
Результат выполнения кода:
1 21
2 57
3 93
4 129
dtype: int64
В этом примере мы создали серию с индексом из дат, сгруппировали данные по кварталам и вычислили сумму значений в каждом квартале.
Смотрите также
-
атрибут
year,
который возвращает год даты -
атрибут
month,
который возвращает номер месяца -
атрибут
day,
который возвращает день месяца -
атрибут
is_quarter_start,
который проверяет, является ли дата началом квартала