【发布时间】:2021-12-11 10:04:44
【问题描述】:
我对自己没有自己解决这个问题感到恼火;这很可能是微不足道的。但无论如何,假设我有一个未排序的数组,以及一个用于对其进行排序的 argsort:
a = array([83, 75, 60, 80, 20, 6, 37, 81, 7, 21])
p = a.argsort()
b = a[p]
所以数组b 是数组a 的排序版本。现在我有一个从排序列表中选择某些值的函数;假设该函数返回列表
f = [0, 1, 2, 3, 6, 7]
这些是排序数组b 的索引。但是如何“反转”排序,以便获得指向a 对应值的索引?在这种情况下,我们有
b[f]
[ 6 7 20 21 75 80]
a 对应的索引是
af = [5, 8, 4, 9, 1, 3]
我怎样才能最容易地从f、a 和p 中确定af?
【问题讨论】:
-
已经完成(我认为)非常感谢。