如何使用numpy中的特定规则从数组中获取值

如何使用numpy中的特定规则从数组中获取值,numpy,Numpy,例如,我有一个值为[1,2,4,3,6,7,33,2]的数组。我想得到所有大于6的值。据我所知,numpy.take只能获取带有索引的值。 我应该使用哪个函数?您可以使用布尔数组索引对数组进行索引: >>> a = np.array([1,2,4,3,6,7,33,2]) >>> a > 6 array([False, False, False, False, False, True, True, False], dtype=bool) >&g

例如,我有一个值为[1,2,4,3,6,7,33,2]的数组。我想得到所有大于6的值。据我所知,
numpy.take
只能获取带有索引的值。

我应该使用哪个函数?

您可以使用布尔数组索引对数组进行索引:

>>> a = np.array([1,2,4,3,6,7,33,2])
>>> a > 6
array([False, False, False, False, False,  True,  True, False], dtype=bool)
>>> a[a > 6]
array([ 7, 33])
如果需要出现这种情况的索引,可以使用
np.where

>>> np.where(a>6)
(array([5, 6]),)