在numpy中提取哪些元素低于阈值的索引

时间:2018-02-02 19:19:11

标签: python

如何在numpy矩阵中提取哪些元素低于阈值的索引,然后在另一个相同大小的矩阵中将此索引设置为零值?

例如:

input = [2 3 4 1 6 2 1 7 8]
other_same_array = [12 2 -1 4 2 6 9 3 1]

if threshold = 3
output = [0 2 -1 0 2 0 0 3 1]

这是我的代码:

      m =  np.where(input < threshold)
      other_same_array[m] = 0

1 个答案:

答案 0 :(得分:0)

您甚至可能不需要索引,只需使用布尔掩码来索引输出数组:

mask = input < 3
output[mask] = 0

我希望有所帮助。

REF: https://docs.scipy.org/doc/numpy-1.13.0/user/basics.indexing.html#boolean-or-mask-index-arrays