質問編集履歴

2

コードの貼付ミス

2020/05/10 15:08

投稿

JMS
JMS

スコア7

test CHANGED
File without changes
test CHANGED
@@ -216,7 +216,7 @@
216
216
 
217
217
 
218
218
 
219
- kakei.tail(10)#回答いただける方のため、念のため表示させます。最後の方の行は以下のとおり不要なのでこのあと参照から外します。
219
+ kakei.tail(7)#回答いただける方のため、念のため表示させます。最後の方の行は以下のとおり不要なのでこのあと参照から外します。
220
220
 
221
221
 
222
222
 

1

質問末尾にコードの全文(エラーメッセージ含む)を掲載しました。

2020/05/10 15:08

投稿

JMS
JMS

スコア7

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,213 @@
129
129
  Name: 支出, Length: 63, dtype: object
130
130
 
131
131
  ```
132
+
133
+
134
+
135
+
136
+
137
+ **2020/5/10 追加: 
138
+
139
+ 皆様にご指導うけ、コード全文を以下に掲載いたしました。当初は以下のようにしてエラーになってしまったことについてお伺いしました。その後、カンマを削除したりしていくとまた別のエラー出て・・・ということになり先へ進めない状態になってしまっております。**
140
+
141
+
142
+
143
+ ```Python
144
+
145
+ %matplotlib inline
146
+
147
+ import numpy as np
148
+
149
+ import pandas as pd
150
+
151
+ import seaborn as sb
152
+
153
+ import matplotlib.pyplot as plt
154
+
155
+ from datetime import datetime
156
+
157
+ from sklearn.metrics import mean_absolute_error
158
+
159
+
160
+
161
+ kakei=pd.read_excel('FEH_00200565_200510154100.xlsx')#気象庁からDLしたデータ、以下にhead()を表示します。
162
+
163
+ kakei.head(10)
164
+
165
+
166
+
167
+ 統計名: 家計消費状況調査 平成29年改定(2015年1月~) 二人以上の世帯 Unnamed: 2 Unnamed: 3
168
+
169
+ 0 表番号: 1-1 NaN NaN
170
+
171
+ 1 表題: [インターネットを利用した1世帯当たり1か月間の支出] 全国・地方・都市階級別 NaN NaN
172
+
173
+ 2 実施年月: - - NaN
174
+
175
+ 3 表章項目: 00000 1世帯当たり1か月間の支出額 NaN
176
+
177
+ 4 世帯区分(平成29年改定): 0030 二人以上の世帯 NaN
178
+
179
+ 5 品目区分(平成29年改定): 0950 69 宿泊料、運賃、パック旅行費(インターネット上での決済)【円】 NaN
180
+
181
+ 6 全国・地方・都市階級(平成29年改定): 0050 関東 NaN
182
+
183
+ 7 NaN NaN NaN NaN
184
+
185
+ 8 時間軸(月次・四半期・年次) コード 時間軸(月次・四半期・年次) 値 注釈
186
+
187
+ 9 2015000101 2015年1月 1,526 NaN
188
+
189
+
190
+
191
+ kakei=kakei.drop('Unnamed: 3',axis=1)#一番右の列を不要なので削除
192
+
193
+ kakei.columns=['日付コード','日付','支出']
194
+
195
+ kakei=kakei.drop([0,1,2,3,4,5,6,7,8]).reset_index(drop=True)#index=9のところより上は利用しないので削除
196
+
197
+ kakei.info()#回答いただける方のため、念のため表示させます
198
+
199
+
200
+
201
+ <class 'pandas.core.frame.DataFrame'>
202
+
203
+ RangeIndex: 68 entries, 0 to 67
204
+
205
+ Data columns (total 3 columns):
206
+
207
+ 日付コード 67 non-null object
208
+
209
+ 日付 67 non-null object
210
+
211
+ 支出 63 non-null object
212
+
213
+ dtypes: object(3)
214
+
215
+ memory usage: 1.7+ KB
216
+
217
+
218
+
219
+ kakei.tail(10)#回答いただける方のため、念のため表示させます。最後の方の行は以下のとおり不要なのでこのあと参照から外します。
220
+
221
+
222
+
223
+ 日付コード 日付 支出
224
+
225
+ 61 2020000202 2020年2月 2,296
226
+
227
+ 62 2020000303 2020年3月 1,118
228
+
229
+ 63 NaN NaN NaN
230
+
231
+ 64 *** 数字が得られないもの NaN
232
+
233
+ 65 - 該当数字がないもの NaN
234
+
235
+ 66 ... 調査又は集計していないもの NaN
236
+
237
+ 67 … 調査又は集計していないもの NaN
238
+
239
+
240
+
241
+ kakei=kakei.iloc[0:63,:]
242
+
243
+ kakei['支出']#回答いただける方のため、念のため表示させます。
244
+
245
+
246
+
247
+ 0 1,526
248
+
249
+ 1 1,808
250
+
251
+ 2 1,712
252
+
253
+ 3 1,515
254
+
255
+ 4 1,874
256
+
257
+ ...
258
+
259
+ 58 2,499
260
+
261
+ 59 2,731
262
+
263
+ 60 2,943
264
+
265
+ 61 2,296
266
+
267
+ 62 1,118
268
+
269
+ Name: 支出, Length: 63, dtype: object
270
+
271
+
272
+
273
+ kakei['支出']=pd.to_numeric(kakei['支出'])
274
+
275
+ kakei['日付']=kakei['日付'].astype(str)
276
+
277
+ kakei['日付']=pd.to_datetime(kakei['日付'],format='%Y年%m月')
278
+
279
+ kakei['POSIX']=kakei['日付'].astype('int64').values//10**9
280
+
281
+ kakei['年']=kakei['日付'].dt.year
282
+
283
+ kakei['月']=kakei['日付'].dt.month
284
+
285
+
286
+
287
+ ---------------------------------------------------------------------------
288
+
289
+ ValueError Traceback (most recent call last)
290
+
291
+ pandas\_libs\lib.pyx in pandas._libs.lib.maybe_convert_numeric()
292
+
293
+
294
+
295
+ ValueError: Unable to parse string "1,526"
296
+
297
+
298
+
299
+ During handling of the above exception, another exception occurred:
300
+
301
+
302
+
303
+ ValueError Traceback (most recent call last)
304
+
305
+ <ipython-input-301-4852b1d66c7f> in <module>
306
+
307
+ ----> 1 kakei['支出']=pd.to_numeric(kakei['支出'])
308
+
309
+ 2 kakei['日付']=kakei['日付'].astype(str)
310
+
311
+ 3 kakei['日付']=pd.to_datetime(kakei['日付'],format='%Y年%m月')
312
+
313
+ 4 kakei['POSIX']=kakei['日付'].astype('int64').values//10**9
314
+
315
+ 5 kakei['年']=kakei['日付'].dt.year
316
+
317
+
318
+
319
+ ~\Anaconda3\lib\site-packages\pandas\core\tools\numeric.py in to_numeric(arg, errors, downcast)
320
+
321
+ 149 coerce_numeric = errors not in ("ignore", "raise")
322
+
323
+ 150 values = lib.maybe_convert_numeric(
324
+
325
+ --> 151 values, set(), coerce_numeric=coerce_numeric
326
+
327
+ 152 )
328
+
329
+ 153
330
+
331
+
332
+
333
+ pandas\_libs\lib.pyx in pandas._libs.lib.maybe_convert_numeric()
334
+
335
+
336
+
337
+ ValueError: Unable to parse string "1,526" at position 0
338
+
339
+
340
+
341
+ ```