找到矩阵中最大值的索引(python)

use*_*852 4 python arrays max matrix

我想在二维 numpy 数组中找到最大值的索引 [i,j]:

a = numpy.array([[1,2,3],[4,3,1]])
Run Code Online (Sandbox Code Playgroud)

我尝试使用 numpy.argsort() 来完成它,但它返回一个数组,因为它只能沿轴完成。一种解决方案是通过使用 for 循环比较 argsort 返回的所有索引(沿两个轴)的元素,但这似乎有点复杂。也许有一个简单的解决方案?

Par*_*kar 7

你要np.unravel_index。在np.argmax将返回一个索引仿佛阵列的扁平版本被遍历。该unravel_index给你的N-D指标。

a = np.random.randint(0, 10, (4,4))
ind = np.unravel_index(np.argmax(a, axis=None), a.shape)  # returns a tuple
Run Code Online (Sandbox Code Playgroud)