我有一个大的 numpy 数组(8 x 30000),我想根据某些标准删除一些行。此标准仅适用于一列。
例子:
>>> p = np.array([[0, 1, 3], [1 , 5, 6], [4, 3, 56], [1, 34, 4]])
>>> p
array([[ 0, 1, 3],
[ 1, 5, 6],
[ 4, 3, 56],
[ 1, 34, 4]])
在这里,我想删除第三列的值> 30的每一行,即。这里是第 3 行。
由于数组非常大,我想避免for
循环。我想到了这个:
>>> a[~(a>30).any(1), :]
array([[0, 1, 3],
[1, 5, 6]])
但是在那里,它显然删除了最后两行。关于如何以有效的方式做到这一点的任何想法?