之前发布了两个问题,只得到了第一部分的答案,但第二部分仍然让我困惑
所以我想知道这里发生了什么
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初始化它然后改变值 谁能告诉我为什么原来的方法不起作用?
答案 0 :(得分:0)
第一行创建一个大小为0的数组。 您可以使用以下方法创建包含100个元素的数组:
y = numpy.zeros(shape =(100,1))