【发布时间】:2018-03-20 13:13:46
【问题描述】:
我有一个 3-d 数组。我使用 argmax 找到沿轴的最大值的索引。我现在如何使用这些索引来获得最大值? 第二部分:如何对 N-d 数组执行此操作?
例如:
u = np.arange(12).reshape(3,4,1)
In [125]: e = u.argmax(axis=2)
Out[130]: e
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
如果 u[e] 产生了预期的结果,那就太好了,但它不起作用。
【问题讨论】:
-
做
argmax(2)没有意义,因为第三维只有一个元素。 -
u[e]将为您提供第三轴上的最大值,但由于该轴上的每一行只有一个元素,因此它返回唯一元素的索引,即 0。 -
我可能会混淆人们对“它会很好......”的评论。那不是问题。我的问题是“我现在如何使用 argmax 返回的索引来获取最大值?”还有,“如何推广到 N-d 的数组?”
标签: numpy