虽然我对MATLAB有一些经验,但我是python的新手。知道这里发生了什么吗?我试图理解为什么会出现这种“异常”错误。谢谢!
for i in range(1,len(yrsPOP)):
tmpMax = yrsPOP.ix[i,:].max()
tmpMin = min(yrsPOP.ix[i,:])
tmp = tmpMax - tempMin
change.append(tmp)
Error: During handling of the above exception, another exception occurred:
似乎错误发生在“tempMax”行中。感谢帮助!
此致 Python Rookie
答案 0 :(得分:2)
基于yrsPOP
是一个二维值数组的注释:
for row in yrsPOP:
tmpMax = max(row)
tmpMin = min(row)
tmp = tmpMax - tmpMin
change.append(tmp)
如果值存储在for row in yrsPOP.ix
中,您应该将循环更改为yrsPOP.ix
。
1,
将成为包含单个元素的元组:(1,)
,这很可能不是您想要的索引。
使用[i:]
表示“索引i
及以后的所有项目”。
如果您想获取索引i
的项目,请使用[i]
。
您正在减去tempMin
而不是tmpMin
,这会导致访问未声明的变量时出错。
您可能还想将tmpMax
更改为max(yrsPOP.ix[i:])
。
len(yrsPOP)
获取了yrsPOP
中的项目数,但是您引用的是yrsPOP.ix
,这是正确的吗?