Есть ли эффективный numpy способ сделать следующее: Предположим, у меня есть матикс M
размером R X C
. Теперь предположим, что у меня есть другая матрица E
, которая имеет форму R X a
(где a
- это просто некоторая константа a < C
), которая содержит индексы строк M
(и -1 для заполнения, т. Е. Каждый элемент E
находится в {-1, 0, .., R-1}
). Например,
M=array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
E = array([[ 0, 1],
[ 2, -1],
[-1, 0]])
Теперь, учитывая эти матрицы, я хочу сгенерировать третью матрицу P
, где i-я строка P
будет содержать сумму следующих строк M
: E[i,:]
. В примере P
будет,
P[0,:] = M[0,:] + M[1,:]
P[1,:] = M[2,:]
P[2,:] = M[0,:]
Да, сделать это с помощью al oop довольно просто и легко, мне было интересно, есть ли какой-нибудь необычный numpy способ сделать это более эффективно (при условии, что я хочу сделать это с большими матрицами, например, 200 X 200
.
Спасибо!