У меня есть 3d-массив, где все длины осей одинаковы (например (5,5,5)). Мне нужно замаскировать весь массив и сохранить некоторые фрагменты в массиве без маски в соответствии с кодом ниже. Мне удалось сделать это с помощью цикла for, но я подумал, есть ли более быстрое решение там.
array = np.reshape(np.array(np.random.rand(125)), (5,5,5))
array = ma.array(array, mask=True)
for i in range(array.shape[0]):
for j in range(array.shape[1]):
array[i, j, :].mask[i:j] = False
Это позволяет мне суммировать этот массив с другим массивом того же размера, игнорируя маскированные значения.