Numpy:在数组中获取最小值索引,忽略特定值
我想找出数组中最小值的下标,比如:
ind = np.where((arr == arr.min()))
我想修改一下,让我可以忽略某个特定的值。例如:
ind = np.where((arr == arr[arr != value].min()))
上面的解决方案可以,但有没有更好的方法呢?
2 个回答
2
使用NumPy的argmin()函数
ind= np.argmin(arr[arr!=value])
3
你可以先创建一个带有掩码的数组,然后在这个数组上使用 np.where()
函数:
m = np.ma.masked_array(a, mask=(a==value))
np.where(m, m==m.min())
这样就能得到你想要的结果。