我是 Python 和 Pandas 的新手。现在我遇到了:
NameError:名称“价格”未定义
我知道这是因为 while 循环。我是否需要将 while 循环放在函数容器中并使用 return/yield?还有其他选择可以达到价格变量吗?
附上我的程序的一部分:
fundspercentb = {}
for c in df.columns:
if c[1] == 'bid':
pass
else:
i = -1
while df[c][i] == np.nan:
i-=1
if df[c][i] != np.nan: continue
price=float(df[c][i]) # <----------------------------
ma20=df[c].tail(20).astype(float).mean()
movstd=df[c].tail(20).std()
upperband=ma20+(2*movstd)
lowerband=ma20-(2*movstd)
percentb=(price-lowerband)/(upperband-lowerband)*100 # <------
fundspercentb[c] = percentb
print fundspercent