首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫实时数据处理

熊猫实时数据处理
EN

Stack Overflow用户
提问于 2015-06-30 14:37:47
回答 1查看 1.8K关注 0票数 4

我正在接收以下格式的实时数据:

代码语言:javascript
复制
time  : price
93015 : 10450
93016 : 10450
93020 : 10500

正如你在上面看到的,时间不是每一秒都会回来的。我想它每一次都会回来。

我想使开放,高,低,关闭价格数据在每5分钟。

请告诉我怎么走。

代码语言:javascript
复制
ctime = com_obj.GetHeaderValue(18) #get realtime time data, type=integer
time_stamp = ctime
cur_price = com_obj.GetHeaderValue(13) #get realtime price data type=integer
df = pd.DataFrame(dict(price=cur_price, time_stamp=time_stamp)).set_index('time_stamp').sort_index()

这是我上面的代码。当我编码第4行时,会弹出错误消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 14:50:50

您可以将resample()函数与ohlc方法结合使用。

代码语言:javascript
复制
import pandas as pd
import numpy as np
#from io import StringIO  # if you use python 3.x
from StringIO import StringIO  # if you use python 2.x

raw_data_string_buffer = 'time  : price\n93015 : 10450\n93016 : 10450\n93020 : 10500\n'
print(raw_data_string_buffer)

time  : price
93015 : 10450
93016 : 10450
93020 : 10500

# replace the stringio part with your file path
data = pd.read_csv(StringIO(raw_data_string_buffer), header=0, sep=':', names=['time', 'price'])

data['time'] = pd.to_datetime(data['time'], format='%H%M%S')

data = data.set_index(['time'])

data.resample('5min', how='ohlc')

Out[177]: 
                     price                     
                      open   high    low  close
time                                           
1900-01-01 09:30:00  10450  10500  10450  10500
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31141292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档