我需要查找数组中发生的多个最小值的索引。我很熟悉np.argmin
,但它给了我一个数组中第一个最小值的索引。例如。在Python中查找给定数组中最小值的索引
a = np.array([1,2,3,4,5,1,6,1])
print np.argmin(a)
这给我0,而不是我期待,0,5,7。
谢谢!
我需要查找数组中发生的多个最小值的索引。我很熟悉np.argmin
,但它给了我一个数组中第一个最小值的索引。例如。在Python中查找给定数组中最小值的索引
a = np.array([1,2,3,4,5,1,6,1])
print np.argmin(a)
这给我0,而不是我期待,0,5,7。
谢谢!
这应该做的伎俩:像你期望它在这种情况下
a = np.array([1,2,3,4,5,1,6,1])
print np.where(a == a.min())
argmin不返回一个列表。
不,它没有。而且,你正在覆盖一个内置函数'min'。 –
@BasSwinckels你错过了我的编辑。定期分钟正如您所指出的那样正常工作。 –
我认为这将是最简单的方法,虽然它没有使用任何花哨的功能numpy的
a = np.array([1,2,3,4,5,1,6,1])
min_val = a.min()
print "min_val = {0}".format(min_val)
# Find all of them
min_idxs = [idx for idx, val in enumerate(a) if val == min_val]
print "min_idxs = {0}".format(min_idxs)
尝试'np.where(一== a.min())' –
是啊!这项工作。 – user2766019
[在列表中使用max()/ min()获取返回的最大值或最小值项的索引](http://stackoverflow.com/questions/2474015/getting-the-index-of-the-返回最大或最小项目使用最大分钟在列表中) – mlt