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

您所在的位置:网站首页 对矩阵进行排序 python:argsort,将数组升序或降序,将矩阵每一行升序或降序,返回其索引

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

2023-10-17 02:13| 来源: 网络整理| 查看: 265

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]

实例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]

实例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

实例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)

实例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)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3