以升序对2d numpy数组的行进行排序

时间:2020-07-11 18:21:33

标签: python numpy

我有一个形状为arr的numpy数组(1500,10),其中每个元素都是从0到9的数字。我想对数组进行排序,因为每一行的元素都被连接起来形成一个数字然后将这些数字按升序排序。让一个简单的数组像这样:

arr = ([[3,4,1,5,1,2,3,4,5,6],
       [1,2,3,5,6,2,9,2,1,2],
       [0,3,1,4,2,1,6,8,2,1],
       [0,1,3,5,1,2,9,2,1,7],
       [2,3,5,7,1,2,5,7,1,5]]) 

它应该返回

arr = ([[0,1,3,5,1,2,9,2,1,7],
        [0,3,1,4,2,1,6,8,2,1],
        [1,2,3,5,6,2,9,2,1,2],
        [2,3,5,7,1,2,5,7,1,5],
        [3,4,1,5,1,2,3,4,5,6]]) 

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

arr[np.lexsort(np.flip(arr.transpose(), axis=0))]