美文网首页
numpy中的argsort和lexsort

numpy中的argsort和lexsort

作者: 弦好想断 | 来源:发表于2021-04-11 12:36 被阅读0次

argsort返回numpy数组从小到大排序后的索引值

import numpy as np
values = np.array([5, 0, 1, 3, 2])
indexer = values.argsort()
indexe
array([1, 2, 4, 3, 0], dtype=int64)
values[indexer]
array([0, 1, 2, 3, 5])

应用到数组中就是根据数组的 某一行进行排序后的索引值

arr= np.random.randn(3,5)
arr[0] = values
arr
array([[ 5.        ,  0.        ,  1.        ,  3.        ,  2.        ],
       [-0.49240371, -1.40697253,  0.66089861,  0.3253901 ,  0.120429  ],
       [ 0.3513586 , -0.02297533, -0.60155572, -0.23488821, -1.31682229]])
arr[0].argsort()
array([1, 2, 4, 3, 0], dtype=int64)
arr[:,arr[0].argsort()]
array([[ 0.        ,  1.        ,  2.        ,  3.        ,  5.        ],
       [-1.40697253,  0.66089861,  0.120429  ,  0.3253901 , -0.49240371],
       [-0.02297533, -0.60155572, -1.31682229, -0.23488821,  0.3513586 ]])

相关文章

网友评论

      本文标题:numpy中的argsort和lexsort

      本文链接:https://www.haomeiwen.com/subject/ribykltx.html