索引 4 超出了大小为 4 的轴 0 的边界

index 4 is out of bounds for axis 0 with size 4

提问人:sahraoui khaoula 提问时间:1/31/2023 更新时间:1/31/2023 访问量:57

问:

所以我正在比较三个包含字符串的矩阵,当我尝试在 python 的 numpy 矩阵中同时访问不同的元素时: 但是,我收到以下错误: 索引 4 对于大小为 4 的轴 0 超出范围 即使我更改了索引,也没有任何变化。 有什么解决方案吗?

A=np.array([['A','T','W','S'],
     ['H','R','W','Q'],
     ['P','E','Z','A'],
     ['Y','U','O','W'],
     ['T','I','P','V'],
     ['R','A','M','G'],
     ['V','K','J','F']])
PR=np.array(
    [['E'],
    ['R'],
    ['A'],
    ['M'],
    ['K'],
    ['L']])
CLU=np.array(
      [ ['A','X','A','M'],
       ['R','D','S','L'],
       ['E','F','E','B'],
       ['T','J','R','R'],
       ['L','Y','G','A'],
       ['M','R','H','D'],
       ['P','T','N','C']])
n=[[],[],[],[]]
m= np.zeros((6,4))
for i in range (len(PR)):
    for j in range (0,len(A.T)+2):
        for u in range (0,5):
            for k in range (0,len(CLU.T[0])-1):
                  if PR[i] in CLU.T[k] and A[u][j] in CLU.T[k]:
                      n[k]=np.append(n[k], 1)
                      break
                  else:
                      n[k]=np.append(n[k], 0)
n=np.array(n)
N=n.T
z=N.reshape(6,7,4)
for i in range (len(PR)):
    m[i]=np.sum(z[i],axis=0)  
print(m)
Python 数组 字符串 索引比较

评论

0赞 B Remmelzwaal 1/31/2023
CLU.T具有索引 1 到 4。更改为循环中。之后,范围超出 ;为什么循环直到?这保证了它出界。CLU.T[0]CLU.TkjA[u][j]jlen(A.T)+1
0赞 sahraoui khaoula 1/31/2023
非常感谢您的帮助,我摆脱了这个问题

答: 暂无答案