Я пытаюсь эффективно делить долгосрочные данные на 8 интервалов на каждый день. Интервалы 3 часа каждый, но края перекрываются:Python Pandas перекрывает данные с TimeGrouper
00.00 - 03.00
03.00 - 06.00
06.00 - 09.00
09.00 - 12.00
12.00 - 15.00
15.00 - 18.00
18.00 - 21.00
21.00 - 24.00
Я попытался следующие:
data = data.groupby(pd.TimeGrouper('4h', closed='left'))
for t, group in groups:
print(group)
Результат:
X Y
2010-01-01 00:00:00 -0.2 -2.4
2010-01-01 01:00:00 -0.1 -2.8
2010-01-01 02:00:00 0.8 -2.3
2010-01-01 03:00:00 1.2 -2.0
X Y
2010-01-01 04:00:00 1.2 0.0
2010-01-01 05:00:00 0.8 0.8
2010-01-01 06:00:00 0.3 1.8
2010-01-01 07:00:00 -0.5 2.8
X Y
2010-01-01 08:00:00 -4.6 3.7
2010-01-01 09:00:00 -7.6 1.3
2010-01-01 10:00:00 -8.0 -1.1
2010-01-01 11:00:00 -7.8 -2.4
X Y
2010-01-01 12:00:00 -5.4 -3.0
2010-01-01 13:00:00 -0.3 -0.9
2010-01-01 14:00:00 1.9 -0.3
2010-01-01 15:00:00 2.3 0.1
...
Но то, что я хочу вместо этого:
X Y
2010-01-01 00:00:00 -0.2 -2.4
2010-01-01 01:00:00 -0.1 -2.8
2010-01-01 02:00:00 0.8 -2.3
2010-01-01 03:00:00 1.2 -2.0
X Y
2010-01-01 03:00:00 1.2 -2.0
2010-01-01 04:00:00 1.2 0.0
2010-01-01 05:00:00 0.8 0.8
2010-01-01 06:00:00 0.3 1.8
X Y
2010-01-01 06:00:00 0.3 1.8
2010-01-01 07:00:00 -0.5 2.8
2010-01-01 08:00:00 -4.6 3.7
2010-01-01 09:00:00 -7.6 1.3
X Y
2010-01-01 09:00:00 -7.6 1.3
2010-01-01 10:00:00 -8.0 -1.1
2010-01-01 11:00:00 -7.8 -2.4
2010-01-01 12:00:00 -5.4 -3.0
...
(обратите внимание на дубликат poi nts по краям)
Можно ли это сделать эффективно с помощью Pandas и/или Numpy? (набор данных составляет 100 лет)