Замена подмассива в массиве Numpy - PullRequest
3 голосов
/ 06 апреля 2020

Я пытаюсь заменить вложенный массив в массиве Numpy массивом такой же формы, чтобы любые изменения отражались в обоих массивах. Я запустил следующий код в IDLE.

import numpy
a=numpy.zeros((2,1))

a
array([[0.],
       [0.]])

b=numpy.zeros((1))
b
array([0.])

a[0]=b
b[0]=1

b
array([1.])

Теперь я хотел бы, чтобы вывод a был в этом примере:

array([[1.],
       [0.]])

, но вместо этого я get:

a
array([[0.],
       [0.]])

Я пытался прочитать о нарезке и индексации, но для меня не сразу очевидно, что я делаю здесь неправильно, или если возможно даже получить желаемый результат , Поэтому я надеялся, что кто-нибудь скажет мне, как, если вообще, я могу это сделать.

1 Ответ

1 голос
/ 06 апреля 2020

Вы можете инициализировать b как срез a, затем изменение b также изменит a, а именно:

import numpy as np

a=np.zeros((2,1))
b=a[0]
b[0]=1

a
array([[1.],
       [0.]])

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...