使用timedelta.round()函数

问题描述 投票:2回答:2

我已经看到了关于如何定义自己的函数的多个问题,它们做了与此类似的事情,但我无法弄清楚如何使用timedelta的内置函数。有没有人有一个使用timedelta.round()的例子?我有timedelta对象,我想要舍入到最接近的全天。

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

Timedelta.round

将Timedelta四舍五入到指定的分辨率

参数:

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

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

引发:如果无法转换freq,则返回ValueError

python datetime timedelta python-datetime
2个回答
1
投票

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


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相似):

© www.soinside.com 2019 - 2024. All rights reserved.