numpy数组中的IndexError

时间:2014-02-11 14:30:33

标签: python numpy

我有一个看起来像这样的代码

 for a in range(0,128):
      for b in range(0,128):
           A = np.zeros((1,3))
           B = np.zeros((1,3))
           for i in range(0,3):
                A[i] = I[a,b,i]

然而,它给了我以下错误

 A[i] = I[a,b,i]
 IndexError: index 1 is out of bounds for axis 0 with size 1

提前谢谢你。

1 个答案:

答案 0 :(得分:3)

np.zeros((1, 3))创建一个包含一个“行”和三个“列”的数组:

array([[ 0.,  0.,  0.]]) # note "list of lists"

如果要直接索引到列中,只需将数组创建为:

A = np.zeros(3)

并获取

array([ 0.,  0.,  0.])

然后你的循环将按照当前编写的方式工作。

或者,您需要首先索引到该行:

for index in range(3):
    A[0, index] = ...