python中if条件下的downsample big numpy.ndarray

python中if条件下的downsample big numpy.ndarray,python,numpy,Python,Numpy,我有一个大的numpy.ndarray,需要根据一列的值对该数组进行下采样。我的解决方案有效,但速度非常慢 data_table = data_table[[i for i in range(0, len(data_table)) if data_table[i][7] > 0.2 and data_table[i][7] < 0.75]] data\u table=data\u table[[i代表范围内的i(0,len(data\u table)),如果data\u table

我有一个大的numpy.ndarray,需要根据一列的值对该数组进行下采样。我的解决方案有效,但速度非常慢

data_table = data_table[[i for i in range(0, len(data_table)) if data_table[i][7] > 0.2 and data_table[i][7] < 0.75]]
data\u table=data\u table[[i代表范围内的i(0,len(data\u table)),如果data\u table[i][7]>0.2和data\u table[i][7]<0.75]]
有人知道最快的方法是什么吗?

用于选择相关列,并以矢量化的方式将这些列与阈值进行比较,为我们提供有效行的掩码,然后索引到行中以获得行过滤输出-

out = data_table[(data_table[:,7] > 0.2) & (data_table[:,7] < 0.75)]
out=data\u table[(data\u table[:,7]>0.2)和(data\u table[:,7]<0.75)]