【发布时间】:2020-03-04 01:29:29
【问题描述】:
我正在尝试使用 numpy.argsort 对列表的每一列进行排序。但是,我得到的输出与正确的排序不匹配。我要排序的列表的名称是“CD”。 下面,我提供了我目前使用的代码和不正确的输出。
print(numpy.argsort(CD,axis=0))
CD 列表如下。
[[90, 85, 71, 48],
[28, 75, 2, 71],
[5, 93, 15, 56],
[59, 91, 29, 43],
[28, 24, 82, 35],
[13, 102, 77, 21],
[85, 102, 33, 64],
[80, 66, 64, 30],
[91, 78, 41, 1],
[77, 33, 30, 50]]
输出是
[[2 4 1 8]
[5 9 2 5]
[1 7 3 7]
[4 1 9 4]
[3 8 6 3]
[9 0 8 0]
[7 3 7 9]
[6 2 0 2]
[0 5 5 6]
[8 6 4 1]]
如果您能给出可能出错的提示,我将不胜感激。
编辑
我想获取已排序列的索引。不是实际数字。很抱歉一开始没有把它清除掉
【问题讨论】:
-
您要对列进行排序的元素是什么?第一个元素?或者你想保持列在适当的位置并对每一列进行排序?这个问题仍然很不清楚;您能举例说明 CD 排序后的样子吗?
标签: python numpy sorting numpy-ndarray columnsorting