gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 09:35:26 25 4
gpt4 key购买 nike

我想将某个数字(在本例中为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com