質問編集履歴
3
解決
test
CHANGED
File without changes
|
test
CHANGED
@@ -85,3 +85,27 @@
|
|
85
85
|
b[c[0]], b[c[1]], b[c[2]]といったやり方で抜き出し自体はできそうだと考えたのですが、
|
86
86
|
|
87
87
|
numpyにはより良い書き方があるのではないかと考えて質問に至った次第です。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
# (追記)解決しました
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
```
|
96
|
+
|
97
|
+
>>> a = np.array([3.0, 4.0, 8.0, 1.0, 6.0, 7.0, 2.0, 5.0])
|
98
|
+
|
99
|
+
>>> b = np.array([5.5, 3.5, 1.5, 6.5, 4.5, 2.5, 8.5, 7.5])
|
100
|
+
|
101
|
+
>>> idx = a.argsort()[::-1][:3]
|
102
|
+
|
103
|
+
>>> np.sum(b.argsort()[idx])
|
104
|
+
|
105
|
+
4
|
106
|
+
|
107
|
+
```
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
melianさんありがとうございましたm(_ _)m
|
2
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
|
73
73
|
```python
|
74
74
|
|
75
|
-
c = np.argsort(a)[::-1][0:
|
75
|
+
c = np.argsort(a)[::-1][0:3]
|
76
76
|
|
77
77
|
```
|
78
78
|
|
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -63,3 +63,25 @@
|
|
63
63
|
なので求めたい配列はnp.array([8.0*1.5, 7.0*2.5, 6.0*4.5])で
|
64
64
|
|
65
65
|
np.array([12.0, 17.5, 27.0])となる
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
# (追記)途中までやったところ
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
```python
|
74
|
+
|
75
|
+
c = np.argsort(a)[::-1][0:2]
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
ひとまずこれでaからのインデックスの抜き出しはできそうだと考えました。
|
82
|
+
|
83
|
+
で、この値を元にbにアプローチをかけようとしたのですが、
|
84
|
+
|
85
|
+
b[c[0]], b[c[1]], b[c[2]]といったやり方で抜き出し自体はできそうだと考えたのですが、
|
86
|
+
|
87
|
+
numpyにはより良い書き方があるのではないかと考えて質問に至った次第です。
|