掘金社区
python 订阅tick后context.data返回的不是dataframe格式,并且无法生成正确的dataframePinned highlighted
130523***287
发表在问题反馈 2019-04-20 01:35:21
def init(context):
subscribe(symbols='SHFE.ag1906', frequency='tick',count=5)
def on_tick(context, tick):
a=context.data(symbol='SHFE.ag1906', frequency='tick',count=5)
df=pd.DataFrame(a)
print(a)
print(df)
context.data返回的是一个列表,列表中的每个元素为tickdict类型,不是python的dict类型,所以没法生成正常的dataframe
最终生成的dataframe 只有一列 每行都是一个tickdict
0
0 {'price': 3537.0, 'created_at': datetime.datet...
1 {'price': 3537.0, 'created_at': datetime.datet...
2 {'price': 3538.0, 'created_at': datetime.datet...
3 {'price': 3538.0, 'created_at': datetime.datet...
4 {'price': 3538.0, 'created_at': datetime.datet..
-
context.data返回的是一个列表字典, 很容易转化成dataframe的,
def init(context):
subscribe(symbols='SHFE.ag1906', frequency='tick',count=5)def on_tick(context, tick):
a=context.data(symbol='SHFE.ag1906', frequency='tick',count=5)
df = pd.DataFrame()
for tick in a:
df = df.append(pd.DataFrame({'symbol': tick.symbol, 'open': tick.open, 'high': tick.high}, index=[1]))