迭代numpy数组的函数

时间:2018-05-25 15:18:51

标签: python numpy numpy-ndarray

我编写了一个简单的函数,它迭代了一个带有一些固定索引的numpy数组。

def compute_V(i,j,nA, nB,V):
    Vijkl = np.zeros((i,j,nA,nB))
    for k in range(nA):
        for l in range(nB):
            Vijkl[i,j,k,l] = V[i,j,k,l] + 3

    return Vijkl

我收到以下错误: IndexError:索引1超出轴0的大小为1

我做错了什么?

矩阵V的形状为:(1,2,1,2)并且看起来:

[[[[-0.00009 -0.00001]]

  [[-0.00001 -0.00001]]]] 

i = 0, j = 0, nA = 1, nB = 2 

看起来循环经过一次迭代:

i,j,k,l,V:  0 0 0 0 -9.39073120245e-05

然后抛出错误。

1 个答案:

答案 0 :(得分:1)

Vijkl的形状是(i,j,nA,nB),因此每个维度的最大限制是(i-1,j-1,nA-1,nB-1)。您超出了前两个维度的最大范围。