在许多情况下,数组的大小过大时,从中找出最大元素需要太长时间。为此,Python的numpy模块提供了一个名为numpy.argmax()的函数。该函数返回最大值的索引以及指定的轴。
numpy.argmax(a, axis=None, out=None)
x: array_like
此参数定义了要查找其最大值的源数组。
axis: int(可选)
此参数定义了索引所在的轴,默认为展平的数组。
out: array(可选)
此参数定义了结果将要插入的ndarray。这将是适合存储结果的相同类型和形状。
此参数定义了一个ndarray,其中包含数组的索引。其形状与x.shape相同,但去掉了沿轴的维度。
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’。
输出显示了数组中最大元素的索引。
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)
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
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()相似。
输出显示了数组中最大元素的索引以及在这些索引上的值。
(https://mp.weixin.qq.com/s/jhgFoECU5m_FO2JGubo7rg),如有侵权,请联系删除。
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典