首页 > 解决方案 > 为什么我得到索引 0 超出了轴 0 大小为 0 的范围?

问题描述

我试图让我的函数通过电子表格检查每隔 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

标签: pythonarraysindexing

解决方案


这解决了问题

def get_voltageStatus(r,t):
    all=[]
    for i in range (1,len(data[0]),3):
        m=np.where((data[1:,i]>=r) & (data[1:,i]<=t))
        print(i)
        mm_raws = []
        mm=m[0]
        if mm.any():
            start=mm[0]
            end=mm[-1]
            print(data[0,i])
            temp=duration(start,end)
            all.append([data[0,i],temp])

推荐阅读