回答編集履歴
6
import 抜けてた
answer
CHANGED
@@ -44,6 +44,7 @@
|
|
44
44
|
```
|
45
45
|
|
46
46
|
```
|
47
|
+
import numpy as np
|
47
48
|
import random
|
48
49
|
import more_itertools
|
49
50
|
|
5
ミス修正
answer
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
hist, bins = np.histogram(orbit, range=(0, 1), bins=N)
|
57
57
|
|
58
58
|
def get_ratio(r_min:float, r_max:float, arr:np.ndarray)->float:
|
59
|
-
pick_elems = arr[(r_min <=
|
59
|
+
pick_elems = arr[(r_min <= arr) & (arr < r_max)]
|
60
60
|
m_hist, _ = np.histogram(pick_elems, range=(r_min, r_max), bins=len(pick_elems))
|
61
61
|
return np.count_nonzero(m_hist)/len(m_hist)
|
62
62
|
|
4
修正
answer
CHANGED
@@ -55,7 +55,7 @@
|
|
55
55
|
|
56
56
|
hist, bins = np.histogram(orbit, range=(0, 1), bins=N)
|
57
57
|
|
58
|
-
def get_ratio(r_min:float, r_max:float, arr:np.ndarray):
|
58
|
+
def get_ratio(r_min:float, r_max:float, arr:np.ndarray)->float:
|
59
59
|
pick_elems = arr[(r_min <= orbit) & (arr < r_max)]
|
60
60
|
m_hist, _ = np.histogram(pick_elems, range=(r_min, r_max), bins=len(pick_elems))
|
61
61
|
return np.count_nonzero(m_hist)/len(m_hist)
|
3
追加
answer
CHANGED
@@ -33,4 +33,35 @@
|
|
33
33
|
|
34
34
|
print(len(results))
|
35
35
|
print(results)
|
36
|
+
```
|
37
|
+
|
38
|
+
|
39
|
+
[補足]
|
40
|
+
少しpythonっぽくしてみました
|
41
|
+
|
42
|
+
```
|
43
|
+
!pip install more-itertools
|
44
|
+
```
|
45
|
+
|
46
|
+
```
|
47
|
+
import random
|
48
|
+
import more_itertools
|
49
|
+
|
50
|
+
random.seed(110)
|
51
|
+
orbit = np.asarray([random.uniform(0,1) for _ in range(10000000)])
|
52
|
+
print('start')
|
53
|
+
|
54
|
+
N = 100
|
55
|
+
|
56
|
+
hist, bins = np.histogram(orbit, range=(0, 1), bins=N)
|
57
|
+
|
58
|
+
def get_ratio(r_min:float, r_max:float, arr:np.ndarray):
|
59
|
+
pick_elems = arr[(r_min <= orbit) & (arr < r_max)]
|
60
|
+
m_hist, _ = np.histogram(pick_elems, range=(r_min, r_max), bins=len(pick_elems))
|
61
|
+
return np.count_nonzero(m_hist)/len(m_hist)
|
62
|
+
|
63
|
+
results = [get_ratio(r[0], r[1], orbit) for r in more_itertools.windowed(bins,2,step = 1)]
|
64
|
+
|
65
|
+
print(len(results))
|
66
|
+
print(results)
|
36
67
|
```
|
2
import 抜けてた
answer
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
```
|
4
4
|
import numpy as np
|
5
|
+
import random
|
5
6
|
|
6
7
|
random.seed(110)
|
7
8
|
orbit = np.asarray([random.uniform(0,1) for _ in range(10000000)])
|
1
ミス修正
answer
CHANGED
@@ -3,9 +3,6 @@
|
|
3
3
|
```
|
4
4
|
import numpy as np
|
5
5
|
|
6
|
-
# orbit = np.random.rand(100) # サイズが100の配列の乱数
|
7
|
-
# print(orbit)
|
8
|
-
|
9
6
|
random.seed(110)
|
10
7
|
orbit = np.asarray([random.uniform(0,1) for _ in range(10000000)])
|
11
8
|
print('start')
|
@@ -34,6 +31,5 @@
|
|
34
31
|
results.append(m_p)
|
35
32
|
|
36
33
|
print(len(results))
|
37
|
-
# print(np.sum(results))
|
38
34
|
print(results)
|
39
35
|
```
|