我想按行对矩阵进行排序(升序),保留其列。例如,我有这个矩阵:
my_scores = [
['1', 0.03, 0.4, 0.6, 0.01, 0.1],
['2', 0.02, 0.5, 0.7, 0.01, 0.1],
['3', 0.01, 0.5, 0.7, 0.02, 0.3],
['4', 0.01, 0.5, 0.7, 0.03, 0.4],
['5', 0.03, 0.1, 0.2, 0.03, 0.4],
]
第 1 列(索引 0)不是为了排序,它只是一个指示元素名称的信息列。我有这个向量 [1,2,3,4,5] 说我应该首先按我的第 2 列(索引 1)然后按第 3 列排序,依此类推...
所以我的矩阵排序函数会输出:
[
['1', 0.03, 0.4, 0.6, 0.01, 0.1],
['5', 0.03, 0.1, 0.2, 0.03, 0.4],
['2', 0.02, 0.5, 0.7, 0.01, 0.1],
['4', 0.01, 0.5, 0.7, 0.03, 0.4],
['3', 0.01, 0.5, 0.7, 0.02, 0.3]]
例如,如果第 2 列的所有值都不同,我只需要按第 2 列排序,但由于它在 1 和 5 元素以及 4 和 3 元素中具有相同的值,我必须按第 3 列对它们进行排序,然后按第 4 列,然后是第 4 列,最后是第 5 列...