如果有一个数组和一个用于该数组的掩码,使用高级索引,很容易只选择与掩码对应的数组数据。
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))
感谢您的选择。