我有一个包含DateTime和Price的dateFrame。
这是一个随机选择的样本
In [2]: df
Out[2]:
price datetime
239035 5.05 2016-04-14 14:13:27
1771224 5.67 2016-08-30 14:19:47
2859140 4.00 2016-12-05 20:57:01
1311384 7.71 2016-07-08 18:16:22
141709 4.19 2016-04-07 13:30:00
2802527 3.94 2016-11-30 15:36:11
1411955 7.27 2016-07-20 13:55:20
2215987 4.87 2016-10-07 19:56:13
日期时间是准确的。
我想从上午9:00开始每15分钟计算每15分钟的平均价格,然后在下午4:30结束,然后将新数据存储到新的DataFrame中。
我可以以旧的时尚方式进行操作,列出每个日期9 am-4:30之内的所有15分钟时间间隔,然后遍历CSV文件的每一行,检查其时间并将其转储到合适的水桶。然后每天找到每个存储桶的平均值。
但是我想知道在熊猫中是否有更好的方法。如果没有
您可以使用dataframe.resample:
df2 = df.resample(rule='15Min', on='datetime').mean()
然后,您会过滤掉不想使用布尔索引的时间。最好使用DateTimeIndex
:
df2 = df2.set_index('datetime', drop=False)
df2.between_time('9:00','16:30')