Сумма по некоторым индексам и оси с нерегулярным списком списка индексов numpy - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу улучшить код, в котором я должен суммировать по разным показателям.Это код:

neighbors = [[1,2,4],[2,0],[1,3],[],[0]]
omega = np.random((5,5,3,3))

#Sum over indices 0 (filtered) and 2 
suma = np.zeros((5,3))
for j in range(5):
    for l in range(3):
        suma[j,l] += np.sum(omega[neighbors[j],j,:,l])

Теперь я немного улучшил свой код, используя параметр оси sum:

suma2 = np.zeros((5,3))
for j in range(5):
    suma2[j,:] += np.sum(omega[neighbors[j],j,:,:],axis=(0,1))

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

neighbors_bool = np.full((5,5),False,dtype=bool)
for j in range(5):
    neighbors_bool[neighbors[j],j] = True

Но я не знаю, как его сложить.

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