《NumPy快速入门》12 - 矩阵排序

113 阅读1分钟

排序

image.png

a = np.array([[4,3,5],[8,2,4]])
a.sort(axis=1)
a.sort(axis=0)

image.png

a = np.array([[4,3,5],[8,2,4]])
a.sort(axis=1)

image.png

a = a[a[:,2].argsort()]
a = a[a[:,1].argsort(kind='stable')]
a = a[a[:,0].argsort(kind='stable')]

image.png

# 首先按第2列排序,然后按第5列排序;
a[np.lexsort(np.flipud(a[2,5].T))] 
# 从左到右依次排序各列。
a[np.lexsort(np.flipud(a.T))]
  • pd.DataFrame(a).sort_values(by=[2,5]).to_numpy(),先按第2列排序,再按第5列排序。
  • pd.DataFrame(a).sort_values().to_numpy(),按从左到右的顺序对所有列进行排序。