argmax和max中的axis
import numpy as np
a = np.array([[2,4,6,1],[1,5,2,9]])
print(a)
# 不加axis,将输入认为是一唯
b = np.argmax(a)
print(b)
# axis=0 行压缩,不同行相同列找到相同列下不同行的最大索引
b = np.argmax(a, axis=0)
print(b)
# axis=1 列压缩,不同列相同行
b = np.argmax(a, axis=1)
print(b)
# 最后一个维度压缩
b = np.argmax(a, axis=-1)
print(b)
得到结果为
[[2 4 6 1]
[1 5 2 9]]
7
[0 1 0 1]
[2 3]
[2 3]
我们可以这样理解axis的作用,就理解它是维度上的压缩,在三维数组中,如下维度分布,axis及表示下面的维度,axis=0就表示第0维度,就表示将该维度的长度压缩为1。比如这里是个3 * 3 * 3的立方体,我我们将axis为2,就表示压缩第2维度,压缩的结果就为一个3 * 3* 1的矩阵,第2维度上是该维度最大值的索引