У меня есть 4D массив 'a' размера (2,3,4,4), заполненный нулями.NumPy массив, индексирующий массив 4D
import numpy as np
a = np.zeros((2,3,4,4))
У меня также есть 3D-массива 'B' размера (2,3,4), который несет некоторые значения индекса (все от 0 до 3).
То, что я хочу сделать, это заменить элемент каждого последнего массива в «а» (4 измерения «а»), что соответствует индексу «Ъ», с 1.
я могу сделать это с 3 для петель, как показано ниже:
for i in a.shape[0]:
for j in a.shape[1]:
for z in a.shape[2]:
a[i,j,z][b[i,j,z]] = 1
Но мне было интересно, если есть в любом случае я могу избежать зацикливания вообще. Нечто похожее на:
a[b] = 1