Возможно ли в numpy использовать расширенную нарезку списка и при этом получать представление? - PullRequest
6 голосов
/ 25 августа 2010

Другими словами, я хочу сделать что-то вроде

A[[-1, 0, 1], [2, 3, 4]] += np.ones((3, 3))

вместо

A[-1:3, 2:5] += np.ones((1, 3))
A[0:2, 2:5] += np.ones((2, 3))

1 Ответ

3 голосов
/ 25 августа 2010

Если я правильно понимаю, вы можете сделать то, что вы хотите сделать, с помощью следующего:

A[[[-1],[0],[1]],[2,3,4]] += np.ones((3, 3))

Тем не менее, numpy люди сделали функцию, ix_, чтобы сделать это немного проще:

A[np.ix_([-1,0,1],[2,3,4])] += np.ones((3, 3))

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

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