找到与numpy数组的最大值对应的索引

时间:2014-05-24 17:29:05

标签: python numpy

我有一个名为f的numpy.array数据,我知道它的最大值是f_max=max(f)但是我想知道数组中与最大值对应的索引。

我试过了:

count = 0
while (f[count]!=fmax)
    conto ++

但收到错误:

SyntaxError: invalid syntax

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:4)

如果您已经使用numpy,可以使用argmax()执行此操作。

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

index = a.argmax()

答案 1 :(得分:1)

最简单的方法是找到max,然后查找其索引。

>>> a = [1, 5, 2, 3, 4]
>>> val = max(a)
>>> a.index(val)
1

您还可以使用enumerate获取索引列表及其对应的值,并选择其中的最大值。

>>> list(enumerate(a))
[(0, 1), (1, 5), (2, 2), (3, 3), (4, 4)]
>>> index, _ = max(enumerate(a), key = lambda x: x[1])
>>> index
1