【Python】數組排序
阿新 • • 發佈:2017-05-24
log false blog sort函數 () ron 返回 imp 總結
1.numpy庫:argsort()
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】數組排序