zoukankan      html  css  js  c++  java
  • 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表示每一行的最大值的索引。

  • 相关阅读:
    B
    I
    C
    判断线段之间的关系(D
    C
    求矩形的周长(线段树+扫描线) Picture POJ
    面积并+扫描线 覆盖的面积 HDU
    线段树->面积并 Atlantis HDU
    E1. Array and Segments (Easy version)(暴力) && E2. Array and Segments (Hard version)(线段树维护)
    Python File writelines() 方法
  • 原文地址:https://www.cnblogs.com/pingwen/p/12623115.html
Copyright © 2011-2022 走看看