質問編集履歴

1

試したことの追記

2018/04/20 08:19

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -104,6 +104,130 @@
104
104
 
105
105
 
106
106
 
107
+ ###試したこと
108
+
109
+ 年ごとの比較も加えて、tuple()関数を使ってみましたが、実行結果がどちらもリストで返されてしまいました。
110
+
111
+ ```python
112
+
113
+ fruits = [ #foodptice category
114
+
115
+ "かき",
116
+
117
+ "りんご",
118
+
119
+ "みかん"
120
+
121
+ ]
122
+
123
+
124
+
125
+ index = {
126
+
127
+ "2017": {
128
+
129
+ "1月": [901, 997, 1003],
130
+
131
+ "2月": [918, 984, 1005],
132
+
133
+ "3月": [891, 985, 1007]
134
+
135
+ },
136
+
137
+ "2018": {
138
+
139
+ "1月": [885, 1006, 1010],
140
+
141
+ "2月": [877, 975, 1006],
142
+
143
+ "3月": [928, 999, 1006]
144
+
145
+ }
146
+
147
+ }
148
+
149
+
150
+
151
+ def month_change(m1, m2, m3):
152
+
153
+
154
+
155
+ month_status = [0]*len(fruits)
156
+
157
+ for idx_cat,cat in enumerate(fruits):
158
+
159
+ print(idx_cat,cat)
160
+
161
+ month_status[idx_cat] = (cat, 100*(m2[idx_cat] - m1[idx_cat])/m1[idx_cat],
162
+
163
+ 100*(m3[idx_cat] - m2[idx_cat])/m2[idx_cat])
164
+
165
+
166
+
167
+ return month_status
168
+
169
+
170
+
171
+ month_data = month_change(index['2018']['1月'],
172
+
173
+ index['2018']['2月'],
174
+
175
+ index['2018']['3月'])
176
+
177
+
178
+
179
+ def year_change(y1, y2):
180
+
181
+ months = ['1月', '2月', '3月']
182
+
183
+ year_status = [0]*len(fruits)
184
+
185
+ for idx_cat,cat in enumerate(fruits):
186
+
187
+ year_furuits = [cat] + [0]*len(months)
188
+
189
+ for idx_month,month in enumerate(months):
190
+
191
+ print(idx_cat, cat, idx_month, month)
192
+
193
+ year_furuits[idx_month+1] = 100*(y2[month][idx_cat]
194
+
195
+ - y1[month][idx_cat])/y1[month][idx_cat]
196
+
197
+
198
+
199
+ year_status[idx_cat] = tuple(year_furuits)
200
+
201
+
202
+
203
+ return year_status
204
+
205
+
206
+
207
+ year_data = year_change(index['2017'],index['2018'])
208
+
209
+ ```
210
+
211
+
212
+
213
+ 実行結果
214
+
215
+ ```
216
+
217
+ >>> year_data
218
+
219
+ [('かき', -1.7758046614872365, -4.466230936819172, 4.1526374859708195), ('りんご', 0.9027081243731193, -0.9146341463414634, 1.4213197969543148), ('みかん', 0.6979062811565304, 0.09950248756218906, -0.09930486593843098)]
220
+
221
+ >>> month_data
222
+
223
+ [('かき', -0.903954802259887, 5.815279361459521), ('りんご', -3.081510934393638, 2.4615384615384617), ('みかん', -0.39603960396039606, 0.0)]
224
+
225
+
226
+
227
+ ```
228
+
229
+
230
+
107
231
  ### 補足情報(FW/ツールのバージョンなど)
108
232
 
109
233
  Python 3.6.3