如何在numpy数组中的特定位置添加数字

如何在numpy数组中的特定位置添加数字,numpy,Numpy,我想在下面指定的数组中的特定位置添加一个特定的数字,在本例中为1 array = np.zeros((1, 5)) 如果我运行上面的代码,我会得到一个如下所示的数组 [0,0,0,0,0] 如何将整数1添加到此数组中的特定位置?我知道如果你用 np.add(array,1) 你会得到这样的结果 [1,1,1,1,1] 我应该怎么做?我只想在numpy数组中的特定位置添加1,这样看起来更像 [1,0,0,0,0] or [0,0,1,0,0] 这是Numpy中的1D阵列: >>

我想在下面指定的数组中的特定位置添加一个特定的数字,在本例中为1

array = np.zeros((1, 5))
如果我运行上面的代码,我会得到一个如下所示的数组

[0,0,0,0,0]
如何将整数1添加到此数组中的特定位置?我知道如果你用

np.add(array,1)
你会得到这样的结果

[1,1,1,1,1]
我应该怎么做?我只想在numpy数组中的特定位置添加1,这样看起来更像

[1,0,0,0,0] or [0,0,1,0,0]

这是Numpy中的1D阵列:

>>> a1=np.zeros(5)
>>> a1[2]=1
>>> a1
array([0., 0., 1., 0., 0.])
这将创建一个二维阵列,即使它只有一行:

>>> array = np.zeros((1, 5))
>>> array
array([[0., 0., 0., 0., 0.]])
如果尝试以相同的方式分配,则会出现错误:

>>> array[2]=1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: index 2 is out of bounds for axis 0 with size 1
要指定给二维数组中的单个元素,需要使用行和列索引:

>>> array[0,2]=1
>>> array
array([[0., 0., 1., 0., 0.]])

使用位置索引添加值:

array[0,0] += 1
#[[1,0,0,0,0]]

array[0,2] += 1
#[[0,0,1,0,0]]

您可能遇到的问题是
np。零((1,5))
是一个2D数组,即使它只有一行<代码>数组[0,2]=1将第0行第2列设置为
1
array[0,0] += 1
#[[1,0,0,0,0]]

array[0,2] += 1
#[[0,0,1,0,0]]