温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Python Numpy Determine array index which contains overall max/min value
arrays max numpy python min

其他 - Python Numpy确定包含总最大值/最小值的数组索引

发布于 2020-04-09 23:40:31

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

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

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

我想做的是查找行索引,其中包含整体最大值。

例如,在上面的示例中,整个ndarray的最大值为9。由于它位于第一行,因此我想返回索引0。

这样做的最佳方法是什么?

我知道

np.argmax(arr)

可以返回整个数组,每行或每列的最大值的索引。但是,是否有方法可以返回包含总最大值的行的索引?

如果也可以轻松地将其更改为按列或找到最小值等,那也很好。

我不确定如何在不使用循环的情况下进行此操作,并且在为索引保留变量的同时查找总最大值,但是我觉得这对于numpy效率不高,因此必须有更好的方法。

任何帮助或想法表示赞赏。

感谢您的阅读。

查看更多

提问者
mrsquid
被浏览
9
Zaraki Kenpachi 2020-02-01 16:54

使用其中AMAX阿明

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]))