我的代码:
import numpy as np
num_people = 2
x = np.zeros((1,75,1,1792,num_people))
for i in range(num_people):
x[1,:,:,:,i]=np.arange(75,1,1792)
错误:
IndexError Traceback (most recent call last)
<ipython-input-17-941de32daec2> in <module>()
1 for i in range(num_people):
----> 2 x[1,:,:,:,i]=np.arange(75,1,1792)
IndexError: index 1 is out of bounds for axis 0 with size 1
答案 0 :(得分:0)
答案在于Python的黄金法则-一切都从零开始。
你做了-
x = np.zeros((1,75,1,1792,num_people))
表示x的形状为(1、75、1、1792、2) 并且第一个轴只有一个项目,但是在for循环中说-
x[1,:,:,:,i]
,您要的是第二轴甚至不存在的第二项
因此将x[1,:,:,:,i]
替换为x[0,:,:,:,i]
如果您了解形状和访问尺寸之间的区别,这将非常有帮助。所以形状1表示您只有1个项目,但是在访问它时,您需要说出我的第0个值(因为一切都从零开始)