找到小于x numpy的元素的索引

时间:2017-05-09 14:53:04

标签: python numpy

假设我有一个numpy数组,例如:

np.array([1,2,3,5,6])

如何提取包含小于6的元素索引的数组,以便得到以下结果:

process.env.PORT

我想要的行为类似np.nonzero(),但不是测试非零值,而是测试小于x的值

感谢

2 个答案:

答案 0 :(得分:3)

你可以在布尔掩码上使用numpy.flatnonzero,在的展平版本中使用返回非零的索引:

np.flatnonzero(arr < 6)
# array([1, 2, 3, 5, 6])

1d阵列的另一个选项是numpy.where

np.where(arr < 6)[0]
# array([1, 2, 3, 5, 6])

答案 1 :(得分:0)

做到这一点的最简单方法是

arr[arr<6]