使用 timedelta.round() 函数

j r*_*son 7 python datetime timedelta python-datetime

我已经看到许多关于如何定义自己的函数的问题,这些函数执行与此类似的操作,但我不知道如何使用 timedelta 的内置函数。有没有人有使用 timedelta.round() 的例子?我有想要舍入到最近的全天的 timedelta 对象。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timedelta.round.html上的文档是:

时间增量.round

将 Timedelta 舍入到指定的分辨率

参数:

freq : 表示舍入分辨率的频率字符串

返回:四舍五入到给定分辨率的新 Timedelta freq

如果频率无法转换,则引发:ValueError

Tim*_*imK 7

这个问题已经回答了,但我把它放在一个 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
Run Code Online (Sandbox Code Playgroud)

输出将是:

0   01:01:00
1   04:03:05
dtype: timedelta64[ns]
Run Code Online (Sandbox Code Playgroud)

其他有用且相关的问题(timedelta 在用法上与 datetime 类似):


j r*_*son 5

我已经回答了我自己的问题。解决方案只是将字符串“d”作为参数,而我正在尝试“day”、“days”等。希望这可以帮助有需要的人。