有60个比例数字,第一个按open价,每二条,按第一条的价格计算。依次类推。
结果如下:
df=pd.DataFrame(_data_model)
# 初使化price价格
df['price']=0
# 计算每分钟的收盘价,保留6位小数
# df['price'] = round((1+df['index'])*open,6)
# 给第一个赋值
df.iloc[0,1]= round((1+df.iloc[0]['index'])*open,6)
# df.iloc[1, 1] = round((1 + df.iloc[1]['index']) * df.iloc[0]['price'], 6)
# 给59个赋值
for item in range(1,60):
df.iloc[item, 1] = round((1 + df.iloc[item]['index']) * df.iloc[item-1]['price'], 6)
# df['price'] =df['price'].shift(1)
# df['price']=round((1+df['index'])*df['price'].shift(-1),6)
print(df)
# 最小值不能小于 小时内的最小值 ,最大值不能大于小时内的最大值
df['price'][df['price'] < low] = low
df['price'][df['price'] >high] = high
# 赋值小时的收盘价
df.iloc[-1]['price']=close