将1d numpy数组添加到2d numpy数组的指定行

时间:2019-03-08 17:29:54

标签: python arrays python-3.x numpy numpy-ndarray

我有一个数组

a = np.ones((5, 5))

看起来像这样

[1, 1, 1, 1, 1]
[1, 1, 1, 1, 1]
[1, 1, 1, 1, 1]
[1, 1, 1, 1, 1]
[1, 1, 1, 1, 1]

然后是另一个数组

b = np.array([0, 0, 0, 1, 0])

我正努力在Numpy文档中找到一段代码,该代码会将数组b添加到数组a中的特定行

例如,我只想将数组b添加到数组a的第三行,这样

c = [1, 1, 1, 1, 1]
    [1, 1, 1, 1, 1]
    [1, 1, 1, 2, 1]
    [1, 1, 1, 1, 1]
    [1, 1, 1, 1, 1]

1 个答案:

答案 0 :(得分:2)

使用此功能:

a[2] += b

输出:

print (a)
[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 2. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]

如果您不想修改a,并且希望将结果放在另一个数组c中,最好分两步完成:

c = np.copy(a)
c[2] += b