回答編集履歴
1
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
> 例えば以下の4×5のndarrayだった場合、上位20%であれば該当する要素は 4 4 4 4 なので平均は4と出力し、上位25%では 4 4 4 4 3 なので平均は3.8と出力するイメージです
|
2
|
+
|
3
|
+
上位25%は `[4, 4, 4, 4, 4]` になりますので、平均値は `4.0` になります。
|
4
|
+
|
1
5
|
```python
|
2
6
|
import numpy as np
|
3
7
|
|
@@ -9,11 +13,10 @@
|
|
9
13
|
])
|
10
14
|
size = np.prod(arr.shape)
|
11
15
|
|
12
|
-
# 上位20%
|
13
|
-
print(np.mean(np.sort(arr.ravel())[-(size
|
16
|
+
print(np.mean(np.sort(arr.ravel())[-int(np.ceil(size*0.2)):]))
|
14
17
|
# 上位25%
|
15
|
-
print(np.mean(np.sort(arr.ravel())[-(size
|
18
|
+
print(np.mean(np.sort(arr.ravel())[-int(np.ceil(size*0.25)):]))
|
16
19
|
|
17
20
|
# 4.0
|
18
|
-
#
|
21
|
+
# 4.0
|
19
22
|
```
|