Python 中特定顺序的矩阵排序

Matrix sorting in specific order in Python

我有一个 171x5 的矩阵,其中第二列包含从 0 到 170 顺序排列的数字和每个这样的数字对应的三个值。 第一列是按所需顺序排列的值。我想按照第一列中显示的顺序对矩阵进行排序。

#A

[[ 15  0  1.124  8.822 1.010]
 [ 10  1  8.228 -9.960 2.537]
...
 [ 25  170  9.495 -1.187 -6.590]]

The output should be:

#B
[[ 15  15  4.185  8.822 9.895]
 [ 10  10  7.225 -7.929 8.589]
...
 [ 25  25  2.455 -5.145 -7.597]]

假设您有一个矩阵 A,您希望按其第一列对其进行排序。

您可以使用标准 Python 函数进行排序并传递定义排序顺序的关键参数。

作为参数传递的 lambda 函数将从每行中选择第一个元素作为键,键将用于排序顺序

sorted(A, key = lambda x: x[0])