Класс Timedelta
Класс Timedelta в Pandas предназначен для работы
с промежутками времени. Он позволяет создавать,
складывать, вычитать и сравнивать временные интервалы.
Объекты Timedelta могут хранить разницы в днях,
секундах, микросекундах и наносекундах.
Класс поддерживает различные способы создания:
через строковое представление, числовые значения
с единицами измерения или через вычитание
объектов Timestamp.
Синтаксис
pd.Timedelta(value, unit=None)
Основные параметры:
-
value- значение промежутка времени (число, строка или другой объект) -
unit- единица измерения для числового значения (по умолчаниюNone, возможны: 'D', 'h', 'm', 's', 'ms', 'us', 'ns')
Пример
Создадим промежуток времени из строки:
import pandas as pd
td = pd.Timedelta('5 days 3 hours')
print(td)
Результат выполнения кода:
5 days 03:00:00
Пример
Создадим промежуток из числа с указанием единиц:
import pandas as pd
td = pd.Timedelta(10, unit='h')
print(td)
Результат выполнения кода:
0 days 10:00:00
Пример
Получим разницу между двумя датами:
import pandas as pd
start = pd.Timestamp('2026-01-01')
end = pd.Timestamp('2026-01-10')
td = end - start
print(td)
Результат выполнения кода:
9 days 00:00:00
Пример
Создадим столбец с промежутками времени в таблице:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3],
'b': [10, 20, 30]
})
df['duration'] = pd.Timedelta(1, unit='D')
print(df)
Результат выполнения кода:
a b duration
0 1 10 1 days
1 2 20 1 days
2 3 30 1 days
Пример
Выполним арифметические операции с промежутками:
import pandas as pd
td1 = pd.Timedelta('2 days')
td2 = pd.Timedelta('5 hours')
td_sum = td1 + td2
td_diff = td1 - td2
print(td_sum)
print(td_diff)
Результат выполнения кода:
2 days 05:00:00
1 days 19:00:00
Смотрите также
-
метод
total_seconds,
который возвращает общее количество секунд в промежутке -
атрибут
components,
который разбивает промежуток на составные части -
метод
round,
который округляет промежуток до заданной точности -
атрибут
days,
который возвращает количество целых дней в промежутке