如何在numpy中找到二维数组的argmax?

Ask*_*123 6 python numpy

我有一个numpy的ndarray:

array = np.array([[1,2,3],[4,5,6],[7,8,9]])
Run Code Online (Sandbox Code Playgroud)

每当我执行时np.argmax(array),它都不会返回行和列的元组。为什么不?

wim*_*wim 9

您没有指定axis. 它返回扁平数组的索引,如文档所示

>>> L = [[1,2,3],[4,5,6],[7,8,9]]
>>> np.argmax(L)
8
>>> np.array(L).ravel()[np.argmax(L)]
9
Run Code Online (Sandbox Code Playgroud)

如果要从该索引中获取行和列,请解开它:

>>> np.unravel_index(8, np.array(L).shape)
(2, 2)
Run Code Online (Sandbox Code Playgroud)