获取数组中最大元素的数组索引号的最佳方法

时间:2019-08-16 09:07:38

标签: python numpy

我希望获得数组中最高的元素索引。

import numpy as np

a = np.array([1,2,3,4])
print(np.where(a==a.max()))

当前输出:

(array([3]),)

预期输出: 3

3 个答案:

答案 0 :(得分:2)

您可以使用np.argmax()。它将返回数组中最大值的索引。

有关功能here的更多详细信息,请参见文档链接。

np.argmax()也适用于2D目标:

a = array([[10, 11, 12],
       [13, 14, 15]])

np.argmax(a)
>>> 5

np.argmax(a, axis=0)
>>> array([1, 1, 1])

np.argmax(a, axis=1)
>>> array([2, 2])

答案 1 :(得分:2)

使用argmax返回沿轴的最大值的索引:

np.argmax(a)

3

由于不提供轴,它将返回展平数组的索引:

a = np.array([[1, 2, 3, 4], [2, 3, 3, 9]])

np.argmax(a)

7

答案 2 :(得分:-1)

尝试此操作,它将返回数组中最大元素的值

import numpy as np
a = np.array([1,2,3,4])

print(np.argmax(a))