numpyargmax()函数
在许多情况下,如果数组的大小太大,那么从它们中找到最大元素的时间就太多了。为此,Python的numpy模块提供了一个名为 numpy.argmax()的函数。该函数返回最大值的索引以及指定的轴。

语法:
numpy.argmax(a, axis=None, out=None)
参数
x:array_like
此参数定义了我们想要知道其最大值的源数组。
axis:int(可选)
此参数定义沿其存在索引的轴,默认情况下,它位于扁平化数组中。
out:array(可选)
此参数定义要在其中插入结果的ndarray。这将是相同的类型和形状,适合于存储结果
返回值
此参数定义一个ndarray,其中包含数组的索引。形状与 x.shape 相同,但沿轴的尺寸已删除。
范例1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
输出:
array([[ 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16],
[17, 18, 19, 20, 21],
[22, 23, 24, 25, 26]])
19
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们已经使用 np.arange()函数创建了一个具有四行五列形状的数组'x'。
- 我们还在数组的每个元素中添加了7个。
- 我们已经声明了变量'y',并分配了 np.argmax()函数的返回值。
- 我们在函数中传递了数组'x'。
- 最后,我们尝试打印'y'的值。
在输出中,它显示了数组中最大元素的索引。
范例2:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z
输出:
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
范例3:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices]
输出:
(3, 4) 26
范例4:
import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2
输出:
array([[0],
[2],
[2]])
array([5, 9, 6])
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们已经使用 np.array()函数创建了多维数组'a '。
- 我们已经声明了变量'index_arr',并分配了 np.argmax()函数的返回值。
- 我们已将数组'a'和轴传递给了函数。
- 我们尝试打印'index_arr'的值。
- 最后,我们尝试通过两种不同的方式来获取数组的最大值,这与 np.argmax()非常相似。
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者