numpy 的argmax的参数axis=0/1的概念
Posted pingwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy 的argmax的参数axis=0/1的概念相关的知识,希望对你有一定的参考价值。
对numpy的argmax一直记不得默认是行还是列搜索,总是用糊涂,每次都要查资料,今天突然醒悟。
先列后行,为什么呢?
看下面的一个列表,就知道了。
>>b=np.array([1, 2, 3, 4, 3, 2, 1]) >>np.argmax(b) >>3 >>np.argmax(b, axis=0) >>3
默认axis=0,列表只有一个维度,自然就是一行数据的最大数的索引。
那么对于二维向量,只需要记住axis是坐标轴的方向,不是行列的概念。
在Numpy库中:
轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:
第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。简单的来记就是axis=0代表往跨行(down),而axis=1代表跨列(across)。
所以axis=0代表的就是列查找,axis=1代表着行查找。
>>a = np.array([[1, 5, 5, 2], [9, 6, 2, 8], [3, 7, 9, 1]]) >>np.argmax(a,axis=0) >>array([1, 2, 2, 1], dtype=int64) >>np.argmax(a,axis=1) >>array([1, 0, 2], dtype=int64)
结论:
argmax返回的是最大数的索引。argmax有一个参数axis,默认是0,表示每一列的最大值的索引,axis=1表示每一行的最大值的索引。
以上是关于numpy 的argmax的参数axis=0/1的概念的主要内容,如果未能解决你的问题,请参考以下文章
numpy_4th np.transpose(a); a.T ; a.clip(min,max) ; np.sort(a) ; np.diff() ; np.cumsum(a