python - 获取 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)),但是我很惊讶没有必要应用一个函数两次并且没有更直接/简单方法,对于另一方,我想知道是否有直接的方法来获得我想要的东西,以及解决此任务的最佳/最有效方法是什么。
解决方案
推荐阅读
- python - 有没有办法将 quint8 pytorch 格式转换为 np.uint8 格式?
- javascript - 为什么即使在读取响应流之后,我的 fetch 响应仍显示承诺?
- ajax - Asp.net Core 3.1 MVC Ajax 调用方法
- scala - 在 Spark 结构化流中将数据内部连接到左连接 DataFrame 时丢失条目
- google-cloud-firestore - 可以存储在 Firestore 中的最大正符号整数是多少?
- javascript - 即使使用正确的数据调用 reducer,Redux 状态也不会更新
- java - 检查绘制的圆圈的任何部分是否在屏幕上可见
- c# - 一对多和多对多关系实体框架,包括默认授权和角色管理
- django - Django Rest Framework 使用 ChoiceField 读/写 ModelSerializer
- node.js - 在云函数中使用 JTR?