Функция timedelta_range
Функция timedelta_range применяется для создания последовательности
временных интервалов (Timedelta) с равномерным шагом.
Она возвращает DatetimeIndex, заполненный объектами Timedelta.
Параметрами можно задать начальный интервал, конечный интервал, количество
элементов и частоту шага.
Синтаксис
pd.timedelta_range(start=None, end=None, periods=None, freq=None, name=None, closed=None)
Основные параметры:
-
start- начальное значение интервала (строка илиTimedelta); -
end- конечное значение интервала (строка илиTimedelta); -
periods- количество генерируемых интервалов; -
freq- частота шага (например, 'D' для дней, 'H' для часов); -
name- имя для возвращаемого индекса; -
closed- указывает, включать ли левую или правую границу ('left', 'right' или None).
Пример
Давайте создадим последовательность из 3 интервалов с шагом в 1 день:
import pandas as pd
res = pd.timedelta_range(start='1 days', periods=3, freq='D')
print(res)
Результат выполнения кода:
TimedeltaIndex(['1 days', '2 days', '3 days'], dtype='timedelta64[ns]', freq='D')
Пример
Создадим последовательность интервалов с указанием начального и конечного значения:
import pandas as pd
res = pd.timedelta_range(start='1 days', end='5 days', freq='D')
print(res)
Результат выполнения кода:
TimedeltaIndex(['1 days', '2 days', '3 days', '4 days', '5 days'], dtype='timedelta64[ns]', freq='D')
Пример
Используем шаг в 2 часа:
import pandas as pd
res = pd.timedelta_range(start='1 hours', periods=4, freq='2H')
print(res)
Результат выполнения кода:
TimedeltaIndex(['1 hours', '3 hours', '5 hours', '7 hours'], dtype='timedelta64[ns]', freq='2H')
Пример
Укажем только количество интервалов без начального и конечного значения:
import pandas as pd
res = pd.timedelta_range(periods=5, freq='T')
print(res)
Результат выполнения кода:
TimedeltaIndex(['0 days 00:00:00', '0 days 00:01:00', '0 days 00:02:00',
'0 days 00:03:00', '0 days 00:04:00'],
dtype='timedelta64[ns]', freq='T')
Пример
Применим параметр closed для исключения левой границы:
import pandas as pd
res = pd.timedelta_range(start='1 days', end='5 days', freq='D', closed='left')
print(res)
Результат выполнения кода:
TimedeltaIndex(['2 days', '3 days', '4 days', '5 days'], dtype='timedelta64[ns]', freq='D')
Пример
Создадим последовательность интервалов с именем:
import pandas as pd
res = pd.timedelta_range(start='0 days', periods=4, freq='12H', name='intervals')
print(res)
Результат выполнения кода:
TimedeltaIndex(['0 days 00:00:00', '0 days 12:00:00', '1 days 00:00:00',
'1 days 12:00:00'],
dtype='timedelta64[ns]', freq='12H', name='intervals')
Пример
Используем timedelta_range для создания индекса в DataFrame:
import pandas as pd
idx = pd.timedelta_range(start='1 days', periods=3, freq='D')
df = pd.DataFrame({'a': [1, 2, 3], 'b': [10, 20, 30]}, index=idx)
print(df)
Результат выполнения кода:
a b
1 days 1 10
2 days 2 20
3 days 3 30
Смотрите также
-
функция
date_range,
которая создает последовательность дат -
функция
to_timedelta,
которая преобразует данные в интервалы времени -
функция
period_range,
которая создает последовательность периодов -
функция
bdate_range,
которая создает последовательность рабочих дней