Я пытаюсь векторизовать или иным образом ускорить (вероятно, используя numpy) цикл поиска / сопоставления для.Я изучил np.vectorize
, индексирование NumPy и np.where
, но не могу найти правильную реализацию / комбинацию, соответствующую моим потребностям.
Код вопроса:
Sx = np.zeros((Np+1, 2*N+1))
rows, cols = prepped_array.shape[0], prepped_array.shape[1]
for ind1 in range(rows):
for ind2 in range(cols):
if prepped_array[ind1][ind2][0] != -1:
Sx[ind1, ind2] = M[prepped_array[ind1][ind2][0], prepped_array[ind1][ind2][1]]
prepped_array
является справочной таблицей (инициализированной для всех [-1, -1]
), где значения были заменены, где они должны быть изменены в Sx
.
M
- это преобразованный вход, который мы хотим отобразить в массив Sx
.
Есть идеи / указатели?Спасибо!