パンダ 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])
真実
この機能はかなり新しいものだと思いますが、あまり文書化されていないようです。
rollforward および rollback メソッドは、期待どおりのことを行います。
ここでの私のより大きな目標は、2 つの頻度 (例: 4 時間と 1 日) を使用し、最初の頻度に基づいて一連のタイムスタンプをバケット化することです (例: 7:05:33 -> 1, 19:59:59 -> 4, 21:44:00 -> 5)