zoukankan      html  css  js  c++  java
  • np.argsort()的用法

    在深度学习Mnist案例中遇到了argsort()函数,查了相关资料,把它的用法整理如下。

    numpy.argsort(a, axis=-1, kind=’quicksort’, order=None) 
    

    功能: 将矩阵a按照axis排序,并返回排序后的下标
    参数: a:输入矩阵, axis:需要排序的维度
    返回值: 输出排序后的下标

    (一维数组)

    import numpy as np
    x = np.array([1,4,3,-1,6,9])
    x.argsort()
    # array([3, 0, 1, 2, 4, 5], dtype=int64)
    

    可以发现,argsort()是将X中的元素从小到大排序后,提取对应的索引index,然后输出到y
    如x[3]=-1最小,x[5]=9最大

    所以取数组x的最小值可以写成:

    x[x.argsort()[0]]
    

    或者用argmin()函数

    x[x.argmin()]
    

     
    数组x的最大值,写成:

    x[x.argsort()[-1]]  # -1代表从后往前反向的索引
    

    或者用argmax()函数,不再详述

    x[x.argmax()]
    

     输出排序后的数组

     x[x.argsort()]
    #
    x[np.argsort(x)]

    (二维数组)

    x = np.array([[1,5,4],[-1,6,9]])
    # [[ 1  5  4]
    # [-1  6  9]]
    沿着行向下(每列)的元素进行排序  
    np.argsort(x,axis=0)
    # array([[1, 0, 0],
    #        [0, 1, 1]], dtype=int64)

    沿着列向右(每行)的元素进行排序

    np.argsort(x,axis=1)
    # array([[0, 2, 1],
    #        [0, 1, 2]], dtype=int64)
  • 相关阅读:
    linux(6)查看进程ps命令
    Python 基础03 序列
    Python 基础02 基本数据类型
    Python基础01 Hello World!
    Linux vi/vim
    Laravel 的HTTP控制器
    Laravel 下的伪造跨站请求保护 CSRF#
    Linux 磁盘管理
    Linux 用户he用户组管理
    Linxu 用户和用户组管理1
  • 原文地址:https://www.cnblogs.com/lucas-zhao/p/11697203.html
Copyright © 2011-2022 走看看