回答編集履歴

2

コード修正

2020/06/26 08:01

投稿

Penpen7
Penpen7

スコア698

test CHANGED
@@ -88,13 +88,17 @@
88
88
 
89
89
  a = s/x.size
90
90
 
91
+
92
+
93
+ s2 = sum2_array(x)
94
+
91
95
  # 二乗平均
92
96
 
93
- s2 = sum2_array(x)/x.size
97
+ a2 = s2/x.size
94
98
 
95
99
  # 分散
96
100
 
97
- v = s2-a*a
101
+ v = a2-a*a
98
102
 
99
103
  print('number of data={0} sum={1} average={2} variance={3}'.format(x.size, s, a, v))
100
104
 

1

脱字およびコード追加

2020/06/26 08:01

投稿

Penpen7
Penpen7

スコア698

test CHANGED
@@ -1,4 +1,4 @@
1
- numpy使っているのだから、numpyの機能を使ってました。
1
+ numpy使っているのだから、numpyの機能を使ってました。
2
2
 
3
3
  pythonはfor文を使うと実行時間が長くなるので、可能な限り使わないほうが賢明です。
4
4
 
@@ -45,3 +45,57 @@
45
45
  number of data=3 sum=12.0 average=4.0 variance=4.666666666666667
46
46
 
47
47
  ```
48
+
49
+
50
+
51
+ for文を使った書き方は推奨できませんが、念の為。
52
+
53
+ ```python
54
+
55
+ import numpy as np
56
+
57
+ def sum_array(a):
58
+
59
+ y=0
60
+
61
+ for i in a:
62
+
63
+ y+=i
64
+
65
+ return y
66
+
67
+ def sum2_array(a):
68
+
69
+ y=0
70
+
71
+ for i in a:
72
+
73
+ y+=i*i
74
+
75
+ return y
76
+
77
+
78
+
79
+ x = np.loadtxt('data.txt')
80
+
81
+
82
+
83
+ # 総和
84
+
85
+ s = sum_array(x)
86
+
87
+ # 平均
88
+
89
+ a = s/x.size
90
+
91
+ # 二乗平均
92
+
93
+ s2 = sum2_array(x)/x.size
94
+
95
+ # 分散
96
+
97
+ v = s2-a*a
98
+
99
+ print('number of data={0} sum={1} average={2} variance={3}'.format(x.size, s, a, v))
100
+
101
+ ```