Использование numpy.where
:
# creating test data
test = np.zeros((5,2,3,3))
test[3,:,2,1] = [-1.,-1.]
value = -np.ones((1.,2.,1.,1.)) # this is the value you are looking for
np.where(test == value)
# this returns: (array([3, 3], dtype=int64),
# array([0, 1], dtype=int64),
# array([2, 2], dtype=int64),
# array([1, 1], dtype=int64))
Редактировать: Чтобы получить соответствующую маску, просто не используйте where
:
test == value