如何在NumPy数组中获取最大值的所有索引?

8
我有一个数字数组,最大值可能会出现多次。
我们如何获得数组中所有最大值出现的索引集合?
例如,对于以下数组:
import numpy as np

a = np.array((1,2,3,2,3,2,1,3))

结果应该是[2, 4, 7](或等价的数组或元组)。
1个回答

11
import numpy as np

a = np.array((1,2,3,2,3,2,1,3))

occurences = np.where(a == a.max())

# occurences == array([2, 4, 7])

6
我不确定最近的版本是否仍然如此,但在v1.4.0中,应该使用 occurences = np.where(a == a.max())[0],这样你会得到一个数组而不是元组。 - dtlussier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接