Функция to_timedelta
Функция to_timedelta преобразует переданные данные в объекты
Timedelta, которые представляют промежутки времени.
Функция может принимать строки с указанием единиц измерения,
числовые значения, а также списки и массивы. Основной параметр
- arg, в который передаются данные для преобразования.
Дополнительно можно указать единицу измерения через параметр
unit, если передаются числа.
Синтаксис
pd.to_timedelta(arg, unit=None)
Пример
Преобразуем строки с указанием единиц измерения в объекты timedelta:
import pandas as pd
res = pd.to_timedelta(['1 day', '2 hours', '30 minutes'])
print(res)
Результат выполнения кода:
TimedeltaIndex(['1 days', '0 days 02:00:00', '0 days 00:30:00'], dtype='timedelta64[ns]', freq=None)
Пример
Передадим числа и укажем единицу измерения через параметр unit:
import pandas as pd
res = pd.to_timedelta([1, 2, 3], unit='d')
print(res)
Результат выполнения кода:
TimedeltaIndex(['1 days', '2 days', '3 days'], dtype='timedelta64[ns]', freq=None)
Пример
Создадим отдельный объект timedelta из строки:
import pandas as pd
res = pd.to_timedelta('5 hours 30 minutes')
print(res)
Результат выполнения кода:
"0 days 05:30:00"
Пример
Используем функцию для преобразования столбца DataFrame:
import pandas as pd
df = pd.DataFrame({
'a': ['1 days', '2 hours', '3 minutes'],
'b': [10, 20, 30]
})
df['a'] = pd.to_timedelta(df['a'])
print(df)
Результат выполнения кода:
a b
0 1 days 00:00:00 10
1 0 days 02:00:00 20
2 0 days 00:03:00 30
Пример
Преобразуем числа с единицей измерения 'h' (часы):
import pandas as pd
res = pd.to_timedelta([5, 10, 15], unit='h')
print(res)
Результат выполнения кода:
TimedeltaIndex(['0 days 05:00:00', '0 days 10:00:00', '0 days 15:00:00'], dtype='timedelta64[ns]', freq=None)
Смотрите также
-
функция
to_datetime,
которая преобразует данные в объекты datetime -
функция
date_range,
которая создаёт диапазон дат с фиксированной частотой -
функция
timedelta_range,
которая создаёт диапазон timedelta объектов -
функция
bdate_range,
которая создаёт диапазон рабочих дней