当前位置:   article > 正文

python:argsort,将数组升序或降序,将矩阵每一行升序或降序,返回其索引_argsort降序

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/638681
推荐阅读
相关标签
  

闽ICP备14008679号