zoukankan      html  css  js  c++  java
  • python:argsort,将数组升序或降序,将矩阵每一行升序或降序,返回其索引

    argsort
    所属模块:内置

    功能:将数组或矩阵每一行降序或升序,返回其索引

    该网站可在线测试本文代码,以便快速理解本文代码:
    http://kakazai.cn/index.php/Kaka/Python/query/name/argsort

    实例1:数组升序

    #!/usr/bin/python3
    #code-python(3.6)
    import numpy as np
    a = np.array([4,2,5,7])
    b = a.argsort() #将数组升序排列,但不改变数组,且返回对应的索引
    print(a) #[4 2 5 7],其索引是[0,1,2,3]
    print(b) #升序后的索引是[1 0 2 3],对应元素[2,4,5,7]
    1
    2
    3
    4
    5
    6
    7
    实例2:数组降序

    #!/usr/bin/python3
    #code-python(3.6)
    import numpy as np
    a = np.array([4,2,5,7])
    b = a.argsort()[::-1] #将数组降序排列,但不改变数组,且返回对应的索引
    print(a) #[4 2 5 7],其索引是[0,1,2,3]
    print(b) #降序后的索引是[3 2 0 1],对应元素[7,5,4,2]
    1
    2
    3
    4
    5
    6
    7
    实例3:取出单个索引

    #!/usr/bin/python3
    #code-python(3.6)
    import numpy as np
    a = np.array([4,2,5,7])
    b = a.argsort() #将数组升序排列,但不改变数组,且返回对应的索引
    #打印其索引,三个结果都一样
    print(b) #[1 0 2 3]
    print(b[0],b[1],b[2],b[3]) #1 0 2 3
    print(a.argsort()[0],a.argsort()[1],a.argsort()[2],a.argsort()[3]) #1 0 2 3
    1
    2
    3
    4
    5
    6
    7
    8
    9
    实例4:将矩阵每一行降序排列

    #!/usr/bin/python3
    #code-python(3.6)
    import numpy as np
    a = np.array([[9,8,7],[3,4,6],[6,5,3]])
    indexs = a.argsort()[:,::-1] #将矩阵的每一行都降序排列,但不改变矩阵,且返回对应的索引
    print(a)
    print(indexs)
    1
    2
    3
    4
    5
    6
    7
    实例5:将矩阵每一行升序排列

    #!/usr/bin/python3
    #code-python(3.6)
    import numpy as np
    a = np.array([[9,8,7],[3,4,6],[6,5,3]])
    indexs = a.argsort() #将矩阵每一行升序排列,但不改变矩阵,且返回对应的索引
    print(a)
    print(indexs)

  • 相关阅读:
    Spring MVC Introduction
    整理的一些文档
    Spring MVC: Some notes
    诡异的 "Error 45 initializing SQL*Plus Internal error"
    Buggy Buggy "NULL"
    【zz】贝叶斯推断及其互联网应用
    Node.js安装,配置npm源(指定仓库和指定源)
    通过命令给安装完成的oracle服务端创建用户并授权
    PLSQL 设置浏览器对象窗口文件颜色、排列顺序(对象窗口Table、Packages等文件夹颜色,顺序)
    搭建初始化vue项目
  • 原文地址:https://www.cnblogs.com/klausage/p/14844607.html
Copyright © 2011-2022 走看看