Python sort np.argsort()元素從小到大排序后,提取對應的索引index,可以一行搞定排序


https://www.cnblogs.com/cgmcoding/p/13590505.html

np.argsort()元素從小到大排序后,提取對應的索引index,可以一行搞定排序

函數用法

numpy.argsort(a, axis=-1, kind=’quicksort’, order=None)

功能: 將矩陣a按照axis排序,並返回排序后的下標,axis=0是列,1是行
參數: 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的最小值的索引位置可以寫成:
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)]

#array([-1,  1,  3,  4,  6,  9])

 那么給數據排序不就很簡單了,直接一行就搞定了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM