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

Python 查找与numpy数组的最大值对应的索引,python,numpy,Python,Numpy,我有一个名为f的numpy.array数据,我知道其中的最大值是f_max=max(f),但我想知道数组中对应于最大值的索引 我试过: count = 0 while (f[count]!=fmax) conto ++ 但我收到一个错误: SyntaxError: invalid syntax 有人能帮我吗?最简单的方法是找到max,然后查找它的索引 >>> a = [1, 5, 2, 3, 4] >>> val = max(a) >>

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

我试过:

count = 0
while (f[count]!=fmax)
    conto ++
但我收到一个错误:

SyntaxError: invalid syntax

有人能帮我吗?

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

>>> a = [1, 5, 2, 3, 4]
>>> val = max(a)
>>> a.index(val)
1
您还可以使用
枚举
获取索引列表和对应的值,并从中选择最大值

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

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

>>> a = [1, 5, 2, 3, 4]
>>> val = max(a)
>>> a.index(val)
1
您还可以使用
枚举
获取索引列表和对应的值,并从中选择最大值

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

如果您已经在使用numpy,那么可以使用argmax()完成此操作


如果您已经在使用numpy,那么可以使用argmax()完成此操作


执行此操作时,我收到:“numpy.ndarray”对象没有属性“index”@Caos:您应该提到您有一个numpy数组。@Caos:在这种情况下,您应该使用
np.argmax
。很抱歉,我是python ad新手,我以为我使用的是列表此解决方案仅用于显示max的第一个实例,有更健壮的解决方案吗?这样做我会收到:“numpy.ndarray”对象没有“index”属性@Caos:你应该提到你有一个numpy数组。@Caos:你应该使用
np.argmax
在这种情况下。很抱歉,我是python新手,我以为我使用的是一个列表。这个解决方案只用于显示max的第一个实例,是否有更可靠的解决方案?关于语法错误:您需要在
while
语句末尾添加
,并使用
count+=1
,但是下面的答案是正确的。@Caos注意,我已经编辑了您的问题,并根据下面的信息添加了
numpy
标记,即您正在使用numpy数组。如果此信息不正确,请说明。是的!我确认我在语法错误中使用了numpy数组:在
while
语句的末尾需要一个
,并使用
count+=1
,但是下面的答案是正确的。@Caos注意,我已经编辑了您的问题,并根据下面的信息添加了
numpy
标记,即您正在使用numpy数组。如果此信息不正确,请说明。是的!我确认我使用的是numpy数组