Numpy argmax()函数用于返回给定数组中的最大值所在的索引位置。
它的语法格式如下:
numpy.argmax(arr, axis=None, out=None)
参数说明:
arr:传入的待计算数组,必须为一维或多维数组。
axis:可选参数,用于指定在哪个维度上进行计算,其取值范围为0到N-1(N为数组的维度数)。
out:可选参数,用于指定输出结果的数组。
如果不指定axis,则按展开后数组索引的最大值计算。例如,对于一个2×3的二维数组,展开后最大值所在的索引为3,则返回3。
下面给出两个使用实例来说明argmax()函数的用法:
import numpy as np
a = np.array([[2, 4, 5], [9, 10, 1], [7, 6, 3]])
print('原数组:')
print(a)
maxIndex = np.argmax(a)
print('在展开后的一维数组中,最大值所在的索引为:', maxIndex)
maxIndex = np.argmax(a, axis=0)
print('在每列中,最大值所在的索引为:', maxIndex)
maxIndex = np.argmax(a, axis=1)
print('在每行中,最大值所在的索引为:', maxIndex)
输出结果为:
原数组:
[[ 2 4 5]
[ 9 10 1]
[ 7 6 3]]
在展开后的一维数组中,最大值所在的索引为: 4
在每列中,最大值所在的索引为: [1 1 0]
在每行中,最大值所在的索引为: [2 1 0]
import numpy as np
a = np.random.rand(3, 4, 5)
maxIndex = np.argmax(a, axis=2)
print('在每个矩阵中,最大值所在的索引为:', maxIndex)
输出结果为:
在每个矩阵中,最大值所在的索引为: [[3 0 2 1]
[2 2 2 2]
[3 0 3 3]]
在这个例子中,我们生成了一个3×4×5的三维数组,并使用axis=2来指定在最后一个维度中计算。输出结果中,每个矩阵在最后一个维度上的最大值所在的索引被返回了。
本文链接:http://task.lmcjl.com/news/17012.html