使用pandas进行实时数据处理

时间:2015-06-30 14:37:48

标签: python pandas

我收到以下格式的实时数据:

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

如上所述,时间不会每秒返回。我想它每回到固定的时间都会回来。

我想每5分钟制作一次开盘价,最高价,最低价,收盘价。

请让我知道。

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行时,错误消息加速

1 个答案:

答案 0 :(得分:1)

您可以使用resample()方法使用ohlc功能。

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