使用熊猫 0.8.0,
import pandas
import pandas.tseries.offsets
h = pandas.tseries.offsets.Hour()
times = pandas.date_range(start='2010-1-1 1:00:05', periods=3, freq='3H')
times
[2010-01-01 01:00:05, ..., 2010-01-01 07:00:05] 长度:3,频率:3H,时区:无
times.snap(h)
[2010-01-01 01:00:05, ..., 2010-01-01 07:00:05] 长度:3,频率:H,时区:无
这是因为:
h.onOffset(times[0])
真的
我猜这个功能是相当新的,它似乎没有太多的文档记录。
前滚和回滚方法完全符合您的预期:
我更大的目标是使用 2 个频率(例如 4 小时和 1 天)并根据第一个频率模第二个(例如 7:05:33 -> 1、19:59:59 -> 4、 21:44:00 -> 5)