Добавление массива 1d numpy в указанную строку массива 2d numpy - PullRequest
0 голосов
/ 08 марта 2019

У меня есть массив

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 только к 3-й строке массива 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 Ответ

2 голосов
/ 08 марта 2019

Используйте это:

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
...