我已经看到了关于如何定义自己的函数的多个问题,它们做了与此类似的事情,但我无法弄清楚如何使用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
我已经回答了我自己的问题。解决方案只是字符串'd'作为参数,而我正在尝试'天','天'等。希望这可以帮助有需要的人。
这个问题已经得到解答,但为了更好地理解,我把它放在一个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相似):