一、复合排序数组
直接用numpy的lexsort就能够ide
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]])
#先按第一列升序,再按第二列升序,再按第三列降序
#注意先按后边的关键词排序spa
sorted_data = data[idex, :]
二、code
lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返回索引。blog