python3.5 NP索引越界

时间:2016-05-20 11:52:49

标签: python numpy

之前发布了两个问题,只得到了第一部分的答案,但第二部分仍然让我困惑

所以我想知道这里发生了什么

y = np.array([]*100)
y[0:50] = 1
y[50:100] = -1

print(y[34])

在我看来,我创建了一个1D的np数组,前50个值取1,其他50个值取-1,我知道我在python 3.5上所以我必须打印实际索引而不是整个东西,这将返回一个内存对象和位置,但为什么会出现此错误?

Traceback (most recent call last):
  File "/Users/saminahbab/Documents/Programming /untitled/new_traying.py", line 37, in <module>
    print(y[34])
IndexError: index 34 is out of bounds for axis 0 with size 0

Process finished with exit code 1

编辑

修复了用100 0&#s初始化它然后改变值 谁能告诉我为什么原来的方法不起作用?

1 个答案:

答案 0 :(得分:0)

第一行创建一个大小为0的数组。 您可以使用以下方法创建包含100个元素的数组:

y = numpy.zeros(shape =(100,1))