Numpy:获取数组中的最小值索引,忽略特定值

时间:2014-03-21 12:04:35

标签: python arrays numpy

我正在尝试获取数组中最小值的索引,例如:

ind = np.where((arr == arr.min()))

我想修改它,以便我可以忽略特定的值。 e.g:

ind = np.where((arr == arr[arr != value].min()))

上面的解决方案还可以,但可以做得更好吗?

2 个答案:

答案 0 :(得分:2)

您可以创建一个蒙版数组,然后在其上使用np.where()

m = np.ma.masked_array(a, mask=(a==value))
np.where(m, m==m.min())

给你想要的东西。

答案 1 :(得分:0)

使用numpys argmin()

ind= np.argmin(arr[arr!=value])