我的pandas版本是0.18,我有一个类似下面的分钟数据:
Time
2009-01-30 09:30:00 85.11 100.11
2009-01-30 09:39:00 84.93 100.05
2009-01-30 09:40:00 84.90 100.00
2009-01-30 09:45:00 84.91 99.94
2009-01-30 09:48:00 84.81 99.90
2009-01-30 09:55:00 84.78 100.00
2009-01-30 09:56:00 84.57 100.10
2009-01-30 09:59:00 84.25 100.41
2009-01-30 10:00:00 84.32 100.60
2009-01-30 10:06:00 84.23 101.49
2009-01-30 10:09:00 84.15 101.47
我希望仅使用9:30和16:00之间的数据,并将数据重新采样为78分钟间隔(即将9:30和16:00之间的时间分为5个等份)。我的代码如下:
Data= Data.between_time('9:30','16:00')
tframe = '78T'
hourlym = Data.resample(tframe, base=30).mean()
输出结果:
Time
2009-01-30 08:18:00 85.110000 100.110000
2009-01-30 09:36:00 83.950645 101.984516
2009-01-30 10:54:00 83.372294 103.093824
2009-01-30 12:12:00 83.698624 102.566897
2009-01-30 13:30:00 83.224397 103.076667
2009-01-30 14:48:00 82.641167 104.114667
2009-01-30 16:06:00 NaN NaN
2009-01-30 17:24:00 NaN NaN
2009-01-30 18:42:00 NaN NaN
如您所见,Pandas忽略了我的基准参数,而且我的输出表从 8:18 开始。我相信这是因为Pandas试图将数据正确地分成每 78 分钟一组,由于 24 小时无法平均分配到 78 分钟,所以会出现这种奇怪的行为。是否可以强制Pandas从第一天的9:30开始重新采样?或者只在重新采样时使用特定的小时数?
tframe = '78T'
而不是 72 分钟。 - IanS