1
我想按行保存列来排序(升序)矩阵。 例如,我有这样的矩阵:按列保存列来排序矩阵
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元素相同的值I必须按第3列,然后按第4列,然后按第4列,最后按第5列对它们进行排序...
你好谢谢:)ü可以解释我说,你所使用的lambda表达式的只是意思:键=拉姆达行:行[1:] – user2209128 2013-03-26 10:32:40
@ user2209128:它创建一个匿名函数,为矩阵中的每一行调用它,并返回行的副本减去第一个元素。 'row [1:]'是一个分片,要求从第二个元素开始到最后一个副本。 – 2013-03-26 10:35:40