Имея массив и маску для этого массива, используя причудливую индексацию, легко выбрать только те данные массива, которые соответствуют маске.
import numpy as np
a = np.arange(20).reshape(4, 5)
mask = [0, 2]
data = a[:, mask]
Но есть ли быстрый способ выбрать все данные массива, которые не принадлежат маске (то есть маска - это данные, которые мы хотим отклонить)?
Я пытался найти общее решение, используя промежуточный логический массив, но уверен, что есть что-то действительно более простое.
mask2 = np.ones(a.shape)==1
mask2[:, mask]=False
data = a[mask2].reshape(a.shape[0], a.shape[1]-size(mask))
Спасибо