本文首发于个人博客,文章链接为:https://blog.d77.xyz/archives/bd46bf7.html
先来看函数定义:
argmax(a, axis=None, out=None)
# a 表示 array
# axis 表示指定的轴,默认是 None,表示把 array 平铺,
# out 默认为 None,如果指定,那么返回的结果会插入其中
axis 默认为 None
二维 array 情况
import numpy as np
a = np.array([[2,5,6],[7,6,1]])
print(np.argmax(a))
3
输出结果为 3,因为 a 里面 7 是最大的,如果没有指定 axis,默认就是 None,相当于把 array 平铺为:[2,5,6,7,6,1],那么结果就是 3,因为索引 3 对应的值最大
三维 array 的情况
import numpy as np
b = np.random.randint(20, size=[3, 2, 2])
print(b)
print(np.argmax(b))
[[[ 8 5]
[18 9]]
[[18 8]
[18 15]]
[[10 14]
[14 8]]]
2
这个里面,18 最大,把它平铺,18 对应的索引就是 2,那么 np.argmax(b)就是 2.
给定 axis 的情况
import numpy as np
check = np.asarray(np.random.randint(1, 10, size=[2, 3, 4]))
print(check)
print(check.shape)
print