argsort函式返回的是陣列值從小到大的索引值(公升序排列)
一維:
in [1]: import numpy as npin [2]: x = np.array([1,3,2,5,4])
in [3]: np.argsort(x)
out[3]: array([0, 2, 1, 4, 3])
in [4]: x[np.argsort(x)]
out[4]: array([1, 2, 3, 4, 5])
in [5]: x[np.argsort(-x)]
out[5]: array([5, 4, 3, 2, 1])
in [6]: np.argsort(-x)
out[6]: array([3, 4, 1, 2, 0])
降序公升序排列的另一種方法:
in [7]: tmp =x[np.argsort(x)]in [8]: tmp[::-1]
out[8]: array([5, 4, 3, 2, 1])
二維:axis = 0 按列排序;axis = 1, 按行排序
in [4]: x = np.array([[1,3],[2,1]])in [5]: np.argsort(x, axis = 0)
out[5]: array([[0, 1],[1, 0]])
in [6]: np.argsort(x, axis = 1)
out[6]: array([[0, 1],[1, 0]])
總結:np.argsort(x) 公升序排列,np.argsort(-x)降序排列
python 陣列排序
python對容器內資料的排序有兩種,一種是容器自己的sort函式,一種是內建的sorted函式。sort函式和sorted函式唯一的不同是,sort是在容器內排序,sorted生成乙個新的排好序的容器 1 陣列排序 l 5,2,3,1,4 sort l.sort 公升序,l.reverse 降序 ...
python 陣列排序
單個陣列的排序很簡單,直接用sort就能完成,如一下ipython in 39 array 4,2,5,1,3 in 40 array.sort in 41 array out 41 1,2,3,4,5 多維陣列的排序如直接用sort講會按第一維的資料進行排序,如 in 42 array b 4 e...
陣列排序 python
本關挑戰任務是對乙個陣列進行排序,排序需要遵守一些規則 先對陣列從左到右,相鄰元素進行比較,如果第乙個比第二個大,就交換它們,進行乙個公升序排序 再對陣列從右到左,相鄰元素進行比較,如果第乙個比第二個小,就交換它們,進行乙個降序排序 以此類推,持續的 依次的改變排序的方向,並不斷縮小沒有排序的陣列範...