Python 陣列排序

2022-06-12 15:27:14 字數 846 閱讀 6647

argsort函式返回的是陣列值從小到大的索引值(公升序排列)

一維:

in [1]: import numpy as np

in [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

本關挑戰任務是對乙個陣列進行排序,排序需要遵守一些規則 先對陣列從左到右,相鄰元素進行比較,如果第乙個比第二個大,就交換它們,進行乙個公升序排序 再對陣列從右到左,相鄰元素進行比較,如果第乙個比第二個小,就交換它們,進行乙個降序排序 以此類推,持續的 依次的改變排序的方向,並不斷縮小沒有排序的陣列範...