Sud*_*mar 2 python arrays sorting numpy matrix
如何按第一列升序和第二列降序对 NumPy 中的二维数组进行排序?
例如,
a = array([[9, 2, 3],
[4, 5, 6],
[7, 0, 5],
[7, 1, 6]])
Run Code Online (Sandbox Code Playgroud)
结果 :
array([[4, 5, 6],
[7, 1, 6],
[7, 0, 5],
[9, 2, 3]])
Run Code Online (Sandbox Code Playgroud)
您可以使用该np.lexsort功能来实现此目的
import numpy as np
a = np.asarray([[9, 2, 3],
[4, 5, 6],
[7, 0, 5],
[7, 1, 6]])
a[np.lexsort((-a[:, 1], a[:, 0]))]
Run Code Online (Sandbox Code Playgroud)
输出
array([[4, 5, 6],
[7, 1, 6],
[7, 0, 5],
[9, 2, 3]])
Run Code Online (Sandbox Code Playgroud)