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)
  • 相关阅读:
    top 500 name
    dede 5.7 爆后台
    Mac中GDB安装
    php strcmp bypass漏洞
    文件时间伪造
    C#读取计算机插入USB历史记录
    MySQL远程连接时出现10061以及1045错误时的解决方法
    MDN 开发者分享平台
    thinkphp 3.2 完全开发手册地址
    PHP 解析JSON数组
  • 原文地址:https://www.cnblogs.com/lucas-zhao/p/11697203.html
Copyright © 2011-2022 走看看