python中有没有直接对多维数组排序的方法

如题所述

直接用numpy的lexsort就可以

import numpy as np
data = np.array([[1,2,3,4,5], [1,2,3,6,7], [2,3,4,5,7], [3,4,5,6,7], [4,5,6,7,8]])
idex=np.lexsort([-1*data[:,2], data[:,1], data[:,0]])
#先按第一列升序,再按第二列升序,再按第三列降序
#注意先按后边的关键词排序
sorted_data = data[idex, :]
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答