【发布时间】:2019-11-09 17:53:59
【问题描述】:
我正在尝试让我的函数通过电子表格检查每隔 3 列并找到某些值的位置(行号),但它只能部分工作。代码运行并返回一些值,但我收到此错误消息并停止。
我使用 start=mm[0] 从数组中获取第一个值,使用 end=mm[-1] 获取最后一个值。
def get_voltageStatus(r,t):
for i in range (1,len(data[0]),3):
m=np.where((data[1:,i]>=r) & (data[1:,i]<=t))
mm_raws = []
mm=m[0]
start=mm[0]
end=mm[-1]
print(data[0,i])
duration(start,end)
错误是:
start=mm[0] IndexError: 索引 0 超出轴 0 大小的范围 0
【问题讨论】:
-
data中没有值介于r和t之间,因此m[0]为空。 -
当我们调用函数时,r 和 t 正在其他地方输入
-
如果 size 为 0,则没有元素,因此 0 是无效索引。换句话说,错误消息已经涵盖了这一点。请注意,您正在查看 m[0][0] 并且这使用了很难测试/重现的全局变量。