частично перекрывающий массив не работает - PullRequest
0 голосов
/ 20 ноября 2018

Я пытался частично переопределить массив numpy

enter image description here

Кто-нибудь знает, как сделать это таким удобным способом индексации?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Вы также можете использовать этот вид индексации с :, разделяющим начальный и конечный индексы:

>>> a = np.array([[1,2,3], [1,1,1], [1,1,1]])
# 1: and :2 all_indices_after_1 and all_indices_before_2 respectively
>>> a[1:,:2] = np.array([[888,888], [99, 99]])
>>> a
array([[  1,   2,   3],
       [888, 888,   1],
       [ 99,  99,   1]])
0 голосов
/ 20 ноября 2018

Настройка

a = np.array([[1,2,3], [1,1,1], [1,1,1]])
b = np.array([[888,888], [99, 99]])

Вы работаете с копией массива, поэтому изменения не сохраняются, используйте numpy.ix_ здесь:

>>> a[np.ix_([1,2], [0,1])] = b
>>> a
array([[  1,   2,   3],
       [888, 888,   1],
       [ 99,  99,   1]])
...