使用timedelta.round()函数

11
我看到有多个问题询问如何定义自己的函数来执行类似于此操作的事情,但我无法弄清楚如何使用timedelta的内置函数。有人有timedelta.round()使用示例吗? 我有想要四舍五入到最接近整天的timedelta对象。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timedelta.round.html上的文档为:
Timedelta.round 将Timedelta舍入到指定的分辨率 参数: freq:表示舍入分辨率的频率字符串 返回值:舍入到给定freq分辨率的新Timedelta 错误引发:如果无法转换freq,则会引发ValueError

感谢您的提问和答案。我也在寻找这个问题的答案。请问您能否适当地格式化您的问题吗? - TimK
2个回答

11

这个问题已经有答案了,但我提供一个更好理解的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):


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

1
谢谢!d 部分真是救了我的一天 :D - Aziz Alto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接