我有市场价格的数据框,时间戳以微秒为单位,例如
Time Bid
0 2014-03-03 23:30:30.224323 0.892500
1 2014-03-03 23:30:30.224390 0.892525
2 2014-03-03 23:30:30.224408 0.892525
3 2014-03-03 23:30:30.364299 0.892525
4 2014-03-03 23:30:31.022652 0.892500
5 2014-03-03 23:30:31.022702 0.892525
6 2014-03-03 23:30:31.866949 0.892525
7 2014-03-03 23:30:33.366843 0.892525
8 2014-03-03 23:30:33.858239 0.892525
9 2014-03-03 23:30:34.360997 0.892525
10 2014-03-03 23:30:35.034307 0.892525
11 2014-03-03 23:30:36.110848 0.892525
12 2014-03-03 23:30:36.359973 0.892525
13 2014-03-03 23:30:38.111191 0.892525
14 2014-03-03 23:30:41.599924 0.892525
15 2014-03-03 23:30:41.599972 0.892500
如何通过剥离微秒来按时间分组,例如, 如何转换均匀时隙(1分钟,5分钟,1小时等)的OHLC(开放,高,低,近)结构,并计算每个时隙?我尝试用
添加另一个列e['Time2'] = pd.to_datetime(e.Time, format='%Y/%m/%d %H:%M:%S')
删除%f,但Time2列看起来与时间列相同。
非常感谢,
如何将其转换为类似
的内容答案 0 :(得分:3)
您需要将日期时间设为索引,以便重新取样:
In [11]: df = df.set_index('Time')
In [12]: df.resample('5min', how='ohlc')
Out[12]:
Bid
open high low close
Time
2014-03-03 23:30:00 0.8925 0.892525 0.8925 0.8925
注意:遗憾的是to_datetime
如果失败则不会引发(至少默认情况下),因此通常最好检查列的dtype是datetime64 ... < / p>