如何获取 numpy 数组中的最大值索引


您可以使用以下方法获取 NumPy 数组中最大值的索引:

方法一:获取一维数组中最大值的索引

 x. argmax ()

方法二:获取多维数组每行最大值的索引

 x. argmax (axis= 1 )

方法三:获取多维数组每列最大值的索引

 x. argmax (axis= 0 )

以下示例展示了如何在实践中使用每种方法。

示例1:获取一维数组中最大值的索引

以下代码显示如何获取一维 NumPy 数组中最大值的索引:

 import numpy as np

#create NumPy array of values
x = np. array ([2, 7, 9, 4, 4, 6, 3])

#find index that contains max value
x. argmax ()

2

argmax()函数返回值2

这告诉我们数组索引位置2 处的值包含最大值。

如果我们查看原始数组,我们可以看到索引位置2处的值为9 ,这确实是数组中的最大值。

示例2:获取多维数组每行中最大值的索引

以下代码显示如何获取多维 NumPy 数组每行中最大值的索引:

 import numpy as np

#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])

#view NumPy array
print (x)

[[4 2 1 5]
 [7 9 2 0]]

#find index that contains max value in each row
x. argmax (axis= 1 )

array([3, 1], dtype=int32)

从结果我们可以看出:

  • 第一行的最大值位于索引位置3
  • 第二行的最大值位于索引位置1

示例3:获取多维数组每列中最大值的索引

以下代码显示如何获取多维 NumPy 数组每列中最大值的索引:

 import numpy as np

#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])

#view NumPy array
print (x)

[[4 2 1 5]
 [7 9 2 0]]

#find index that contains max value in each column
x. argmax (axis= 0 )

array([1, 1, 1, 0], dtype=int32)

从结果我们可以看出:

  • 第一列中的最大值位于索引位置1
  • 第二列中的最大值位于索引位置1
  • 第三列中的最大值位于索引位置1
  • 第四列中的最大值位于索引位置0处。

相关: NumPy 轴的简单解释

其他资源

以下教程解释了如何在 Python 中执行其他常见操作:

如何用值填充 NumPy 数组
如何替换 NumPy 数组中的元素
如何从 NumPy 数组中获取特定行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注