目前代码如下:无法将更新的实时数据存dataframe进行下一步计算,请问如何修改?输出结果如附件
#encoding:gbk
import pandas as pd
import numpy as np
def init(ContextInfo):
ContextInfo.trade_code_list=['002895.SZ','605117.SH']
def trader_excute(ContextInfo):
df = pd.DataFrame(columns=['最新价', '昨收盘价'])
ContextInfo.df = df
tick_info = ContextInfo.get_full_tick(ContextInfo.trade_code_list)
temp_df = pd.DataFrame(columns=ContextInfo.df.columns)
for stock,stock_dict in tick_info.items():
temp_df = temp_df.append({
'股票代码': stock,
'最新价': stock_dict.get('lastPrice', None),
'昨收盘价': stock_dict.get('lastClose', None),
}, ignore_index=True)
'''print(temp_df)'''
df_list = [df,temp_df]
ContextInfo.df = pd.concat(df_list,ignore_index=True)
'''print(f"\n {df}")'''
print("++++++++++++++++++++",f"\n {ContextInfo.df}","++++++++++++++++++++")
grouped = ContextInfo.df.groupby('股票代码')
speed_df = pd.DataFrame(columns=['股票代码','分钟涨速'])
for name, group in grouped:
speeds = group['最新价'].pct_change()
speeds = speeds.iloc[1:]
group_speed_df = pd.DataFrame({'股票代码': name, '分钟涨速': speeds.values})
speed_df = speed_df.append(group_speed_df, ignore_index=True)
print(speed_df)
return ContextInfo.df, speed_df
|