Python Numpy 确定包含整体 max/min 值的数组索引

Python Numpy Determine array index which contains overall max/min value

假设我有一个如下所示的 Numpy nd 数组。

arr = np.array([[2, 3, 9], [1,6,7], [4, 5, 8]])

numpy 数组是一个 3 x 3 矩阵。

我要做的是查找包含整体最大值的行索引。

例如在上面的例子中,整个ndarray的最大值是9。由于它位于第一行,我想return索引0。

执行此操作的最佳方法是什么?

我知道

np.argmax(arr)

可以return整个数组、每行或每列的最大值索引。但是有什么方法可以return包含整体最大值的行的索引?

如果这也可以很容易地更改为按列或找到最小值等,那就太好了

我不确定如何在不使用循环并在为索引保留变量的情况下找到总体最大值的情况下如何解决这个问题,但是我觉得这对 numpy 来说效率低下并且必须有更好的方法。

感谢任何帮助或想法。

感谢您的阅读。

使用where with amax, amin.

import numpy as np

arr = np.array([[2, 3, 9], [1,6,7], [4, 5, 8]])

max_value_index = np.where(arr == np.amax(arr))
min_value_index = np.where(arr == np.amin(arr))

输出:

(array([0]), array([2]))
(array([1]), array([0]))