Python 在三维numpy数组中定义循环

Python 在三维numpy数组中定义循环,python,arrays,numpy,multidimensional-array,Python,Arrays,Numpy,Multidimensional Array,我已经构建了一个由零组成的3d numpy矩阵,然后对行进行了规格化。现在我想循环 通过矩阵,每次嵌套列表中的一个项目跟在另一个项目后面时加+1: nested list = [(0,0),(1,1),(2,2)][(0,5),(1,6),(2,7)] 我想在嵌套列表中循环,这样每个tupleindex[1]的最后一个索引在从另一个具有索引[1]的元组中跟随时获得+1,例如,如果元组2,2,2中的索引[1]在1,1,1中的索引[1],则矩阵列获得+1矩阵-矩阵3*3的零,然后归一化行/=row

我已经构建了一个由零组成的3d numpy矩阵,然后对行进行了规格化。现在我想循环 通过矩阵,每次嵌套列表中的一个项目跟在另一个项目后面时加+1:

nested list = [(0,0),(1,1),(2,2)][(0,5),(1,6),(2,7)]
我想在嵌套列表中循环,这样每个tupleindex[1]的最后一个索引在从另一个具有索引[1]的元组中跟随时获得+1,例如,如果元组2,2,2中的索引[1]在1,1,1中的索引[1],则矩阵列获得+1矩阵-矩阵3*3的零,然后归一化行/=row.sum

我尝试了以下方法:

 try:
        for i in data:
            for j in i:
               for k in range(len(j)):
                    matrice [ i[j[k]][1], i[j[k]+1][1] ] += 1

  except(IndexError):
            pass
  return matrice
它给出了以下结果:

[ 0    2    0] [ 0   0    2] [ 0   2    0] 
虽然结果应该是

[ 0    2    0][ 0   0    2] [ 2   0   0]]
最后一行中的2应该在此索引上,而不是在中间


这让我觉得循环a[i[j[k]][1],i[j[k]+1][1]+=1中存在某种东西。我尝试了一个[I[j[k]][1]**+=1**,I[j[k]+1][1]+=1加上+1,但这不起作用。非常感谢您的帮助

示例代码中的数据是什么?另外,您说您构建了一个3d矩阵,但您的示例代码和输出似乎显示了2d矩阵的使用。矩阵的形状是什么?嗨,沃伦,数据是一个元组列表[0,10,20,3],矩阵是3*3的零。我把它画成一条线,第一排。是[i[j[k]][1]的索引,i[j[k]+1][1]]表示二维数组,然后我如何将其更改为第三个索引,比如如果我想得到k范围内的索引y,我是否需要像i[j[k[y]]那样做?@user1749431请改进有关数据和矩阵的详细信息。上面定义的嵌套列表不参与您的尝试?