Атрибут inferred_freq
Атрибут inferred_freq применяется к объекту DatetimeIndex и возвращает строку, представляющую предполагаемую частоту временного ряда. Частота вычисляется на основе анализа интервалов между соседними датами. Если интервалы нерегулярны или частоту невозможно определить, возвращается None. Данный атрибут полезен для проверки, соответствует ли временная метка ожидаемой периодичности, без необходимости ручного указания частоты через атрибут freq.
Синтаксис
DatetimeIndex.inferred_freq
Атрибут не принимает параметров и возвращает строку с частотой (например, 'D' - день, 'H' - час, 'T' - минута) или None.
Пример
Рассмотрим DatetimeIndex с регулярной дневной частотой. Атрибут определит частоту автоматически:
import pandas as pd
dates = pd.date_range(start='2026-01-01', periods=5, freq='D')
ser = pd.Series([1, 2, 3, 4, 5], index=dates)
res = ser.index.inferred_freq
print(res)
Результат выполнения кода:
"D"
Пример
Для частоты с шагом в несколько дней атрибут также корректно определит периодичность:
import pandas as pd
dates = pd.date_range(start='2026-01-01', periods=4, freq='2D')
ser = pd.Series([10, 20, 30, 40], index=dates)
res = ser.index.inferred_freq
print(res)
Результат выполнения кода:
"2D"
Пример
Если интервалы между датами нерегулярны, атрибут вернёт None. Создадим DatetimeIndex с пропуском в один день:
import pandas as pd
dates = pd.DatetimeIndex(['2026-01-01', '2026-01-02', '2026-01-04'])
ser = pd.Series([100, 200, 300], index=dates)
res = ser.index.inferred_freq
print(res)
Результат выполнения кода:
None
Пример
Атрибут может определять частоту для почасовых данных. Создадим индекс с шагом в 3 часа:
import pandas as pd
dates = pd.date_range(start='2026-01-01 00:00', periods=5, freq='3H')
ser = pd.Series([5, 10, 15, 20, 25], index=dates)
res = ser.index.inferred_freq
print(res)
Результат выполнения кода:
"3H"