我无法解决此问题。
for i in range(0,len(df1.columns)):
if df1.iloc[i:].values ==1:
print ('Buy')
order= True
elif df1.iloc[i:] == -1:
print ('Sell')
order= True
else:
print ('Do nothing')
time.sleep(30)
if a==5:
break
我有一个dataframe
df1
,其中包括值-1、0和1。
所以基本上,如果值1出现在数据帧中,我基本上会尝试打印“购买”(此代码是循环的结尾,在此之前,我每30秒为df
设置一个新值) / p>
要恢复:
每30秒为df设置一个新值(已经这样做了)
检查此值是-1,0还是1
每隔30秒钟根据新值打印一次“购买”,“卖出”或“不执行任何操作”,休眠时间,然后为df
等设置新值。
当我运行上面的代码时,它给了我ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
。
答案 0 :(得分:0)
我认为是因为您试图将一个列表与一个值进行比较,所以收到了此错误消息
您不清楚数据框df1的形状,所以我想在这里尝试更改
if df1.iloc[i:].values ==1:
到
if df1.iloc[i] ==1:
并更改
elif df1.iloc[i:] == -1:
到
elif df1.iloc[i] == -1:
答案 1 :(得分:0)