回答編集履歴

1

追記

2021/11/06 13:50

投稿

bsdfan
bsdfan

スコア4794

test CHANGED
@@ -1,6 +1,6 @@
1
1
  やりたいことは、argsortを二回やればできそうです。
2
2
 
3
- numpyのargsortで、reverseかつstableなのはちょっと面倒そうなので、リストでやってます。
3
+ ~~numpyのargsortで、reverseかつstableなのはちょっと面倒そうなので、リストでやってます。~~
4
4
 
5
5
  (もっといい方法がありそうな気もします)
6
6
 
@@ -31,3 +31,23 @@
31
31
  #[0, 1, 2]
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ numpyを使うなら、-1をかけてargsortすれば降順にソートできるので、シンプルに下記にできそうです。
38
+
39
+ ```python
40
+
41
+ import numpy as np
42
+
43
+
44
+
45
+ a = np.array([0, 2, 1])
46
+
47
+ b = np.argsort(np.argsort(-a, kind='stable'))
48
+
49
+ print(b)
50
+
51
+ #[2 0 1]
52
+
53
+ ```