Используя функцию timedelta.round()
Я видел несколько вопросов о том, как определить вашу собственную функцию, которая делает подобные вещи, но я не могу понять, как использовать встроенную функцию timedelta. У кого-нибудь есть пример использования timedelta.round()? У меня есть объекты timedelta, которые я хочу округлить до ближайшего целого дня.
Документация по адресу https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Timedelta.round.html:
Timedelta.round
Округлить Timedelta до указанного разрешения
Параметры:
freq: строка freq, указывающая разрешение округления
Возвращает:
новая Timedelta, округленная до заданного разрешения freq
Повышает: ValueError, если частота не может быть преобразована
1 ответ
На этот вопрос уже дан ответ, но я вставил его в MWE для лучшего понимания:
import pandas as pd
df = pd.Series(pd.to_timedelta([
'0 days +01:01:02.123',
'0 days +04:03:04.651']))
df.dt.round('5s') #Rounds to 5sec
Результат будет:
0 01:01:00
1 04:03:05
dtype: timedelta64[ns]
Другой полезный и связанный вопрос (timedelta похож на datetime):
Я ответил на свой вопрос. Решением была просто строка "d" в качестве параметра, тогда как я пробовал "день", "дни" и т. Д. Надеюсь, это поможет кому-то нуждающемуся.