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

时间:2014-03-26 02:12:48

标签: numpy

例如,我有一个值为[1,2,4,3,6,7,33,2]的数组。我希望获得大于6的所有值。据我所知,numpy.take只能获得带索引的值 我应该使用哪种功能?

1 个答案:

答案 0 :(得分:3)

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

>>> 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]),)