首页 > 解决方案 > 获取 numpy 数组的每个元素在排序时将具有的索引

问题描述

提前感谢那些花时间回答这个问题的人。这是我的第一个问题,如果没有以最好的方式表述,请见谅。

正如标题所示,问题是我如何获得矩阵的每个元素在排序时所具有的索引。例如:

x = array ([3,8,1,21,7,65,2])

预期的输出将是:

array ([2, 4, 0, 5, 3, 6, 1])

当然,我遇到的大多数示例都是指 argsort() 函数,但是它不会返回预期的输出,而是返回:

array([2, 6, 0, 4, 1, 3, 5])

如您所见,输出是不同的。测试并寻找我发现的最好的方法是应用 argsort() 两次,即 argsort(argsort (x)),但是我很惊讶没有必要应用一个函数两次并且没有更直接/简单方法,对于另一方,我想知道是否有直接的方法来获得我想要的东西,以及解决此任务的最佳/最有效方法是什么。

标签: pythonnumpyindexingnp.argsort

解决方案


推荐阅读