赞
踩
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)降序排列
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。