首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取NumPy数组中沿一个轴的最大元素的索引

如何获取NumPy数组中沿一个轴的最大元素的索引
EN

Stack Overflow用户
提问于 2011-03-29 15:35:47
回答 4查看 241.1K关注 0票数 133

我有一个二维的NumPy数组。我知道如何获得轴上的最大值:

>>> a = array([[1,2,3],[4,3,1]])
>>> amax(a,axis=0)
array([4, 3, 3])

如何获得最大元素的索引?我想把array([1,1,0])作为输出。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-29 15:39:44

>>> a.argmax(axis=0)

array([1, 1, 0])
票数 166
EN

Stack Overflow用户

发布于 2012-11-24 04:52:54

>>> import numpy as np
>>> a = np.array([[1,2,3],[4,3,1]])
>>> i,j = np.unravel_index(a.argmax(), a.shape)
>>> a[i,j]
4
票数 113
EN

Stack Overflow用户

发布于 2014-05-09 06:58:16

argmax()将只返回每行的第一个匹配项。http://docs.scipy.org/doc/numpy/reference/generated/numpy.argmax.html

如果您需要对成形数组执行此操作,则此方法比unravel更有效

import numpy as np
a = np.array([[1,2,3], [4,3,1]])  # Can be of any shape
indices = np.where(a == a.max())

您还可以更改您的条件:

indices = np.where(a >= 1.5)

上面给出了您所要求的表单的结果。或者,可以通过以下方式转换为x,y坐标列表:

x_y_coords =  zip(indices[0], indices[1])
票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5469286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档