撤消或反转argsort(),python
- 论坛
- 撤消或反转argsort(),python
7 浏览
撤消或反转argsort(),python
给定一个数组'a',我想通过列对数组进行排序sort(a, axis=0)
,对数组进行一些操作,然后撤销排序。这并不是说重新排序,而是基本上颠倒每个元素的移动方式。我认为argsort()
是我需要的,但我不清楚如何根据argsort()
的结果对数组进行排序,或者更重要的是应用argsort()
的反向/逆向操作。
以下是更详细的说明:
我有一个数组a
,shape(a) = rXc
,我需要对每列进行排序
aargsort = a.argsort(axis=0) # 以后可能会用到这个 aSort = a.sort(axis=0)
现在对每行求平均值
aSortRM = asort.mean(axis=1)
现在用行平均值替换每个行中的列。
有没有比这更好的方法
aWithMeans = ones_like(a) for ind in range(r) # r = 行数 aWithMeans[ind]* aSortRM[ind]
现在我需要撤销我在第一步中所做的排序。????