Python 查找numpy数组中小于x的元素的索引
假设我有一个numpy数组,例如:Python 查找numpy数组中小于x的元素的索引,python,numpy,Python,Numpy,假设我有一个numpy数组,例如: import numpy as np arr = np.array([10,1,2,5,6,2,3,8]) 如何提取包含小于6的元素索引的数组,以便得到以下结果: np.array([1,2,3,5,6]) 我想要一个类似的东西,但不是测试非零值,而是测试小于x的值。您可以在布尔掩码上使用numpy.flatnonzero,并返回在展开版本中非零的索引: 最简单的方法就是 arr[arr<6] arr[arr应该对元素进行排序吗?或者这仅仅
import numpy as np
arr = np.array([10,1,2,5,6,2,3,8])
如何提取包含小于6的元素索引的数组,以便得到以下结果:
np.array([1,2,3,5,6])
我想要一个类似的东西,但不是测试非零值,而是测试小于x的值。您可以在布尔掩码上使用
numpy.flatnonzero
,并返回在展开版本中非零的索引:
最简单的方法就是
arr[arr<6]
arr[arr应该对元素进行排序吗?或者这仅仅是一个“可能的”结果吗?“但是它不是测试非零值,而是测试小于x的值。”.那么,测试它吗?您已经提到了np.nonzero
。在@Divakar的提示基础上,False
值在阅读Psidom答案后计算为zeroyes,我觉得有点傻。
np.where(arr < 6)[0]
# array([1, 2, 3, 5, 6])
arr[arr<6]