我想将某个数字(在本例中为 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 中的一维数组:
>>> 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
或者,更令人困惑的是,如果您将其分配给单个元素,则对于 2D,Numpy 会假定默认轴并将分配该行中的所有值:
>>> array = np.zeros((1, 5))
>>> array[0]=3
>>> array
array([[3., 3., 3., 3., 3.]])
要分配给二维数组中的单个元素,您需要使用行索引和列索引:
>>> array[0,2]=1
>>> array
array([[0., 0., 1., 0., 0.]])
关于numpy - 如何在 numpy 数组的特定位置添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62617234/