如何获取 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 中执行其他常见操作: