У меня есть датафрейм df
с записями за каждую минуту. Мне нужно что-то рассчитывать для каждого 6-минутного окна, но с 3-минутным сдвигом.
По соображениям простоты, скажем, мне нужно вычислить среднее. И данные охватывают более одного дня. Вот пример кадра данных со случайными значениями. Для воспроизводимости я добавил полный пример.
np.random.seed(42)
index = pd.date_range('2019-01-01 00:00:00','2019-01-02 00:00:00', freq='min')
df = pd.DataFrame(np.round(np.random.rand(len(index))*100), index=index, columns=["counts"])
df
counts
2019-01-01 00:00:00 37.0
2019-01-01 00:01:00 95.0
2019-01-01 00:02:00 73.0
2019-01-01 00:03:00 60.0
2019-01-01 00:04:00 16.0
2019-01-01 00:05:00 16.0
2019-01-01 00:06:00 6.0
2019-01-01 00:07:00 87.0
2019-01-01 00:08:00 60.0
2019-01-01 00:09:00 71.0
2019-01-01 00:10:00 2.0
2019-01-01 00:11:00 97.0
2019-01-01 00:12:00 83.0
2019-01-01 00:13:00 21.0
2019-01-01 00:14:00 18.0
2019-01-01 00:15:00 18.0
2019-01-01 00:16:00 30.0
2019-01-01 00:17:00 52.0
Когда я просто повторяю выборку, я получаю результаты, начиная с нулевой минуты.
df.resample("6min").mean()
counts
2019-01-01 00:00:00 49.500000
2019-01-01 00:06:00 53.833333
2019-01-01 00:12:00 37.000000
....
Что мне нужно сверху, если эторезультаты, начинающиеся с минуты 3, и повторная выборка каждые 6 минут, например,
df.magicfunction.mean()
counts
2019-01-01 00:03:00 40.833333
2019-01-01 00:09:00 48.666666
....
Есть ли способ установить начальную точку окна повторной выборки?
В качестве альтернативы это похоже на времяСдвиг окна, который, видимо, еще не работает в пандах. Есть ли альтернативы?