├── Air_Store_Month_Wise_mean.ipynb
├── Feature_Englineering_And_Final_Run.ipynb
├── Feature_Genrate_from_keral.ipynb
├── README.md
├── Ready_to_use_Weather.ipynb
├── Visulize_Test_Predictions.ipynb
├── ensemble.ipynb
└── validate_test.py
/Air_Store_Month_Wise_mean.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {},
7 | "outputs": [
8 | {
9 | "name": "stderr",
10 | "output_type": "stream",
11 | "text": [
12 | "/Users/ankitgupta/anaconda/lib/python2.7/site-packages/sklearn/cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
13 | " \"This module will be removed in 0.20.\", DeprecationWarning)\n",
14 | "/Users/ankitgupta/anaconda/lib/python2.7/site-packages/sklearn/grid_search.py:43: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. This module will be removed in 0.20.\n",
15 | " DeprecationWarning)\n"
16 | ]
17 | }
18 | ],
19 | "source": [
20 | "\n",
21 | "import pandas as pd\n",
22 | "import numpy as np\n",
23 | "from sklearn.linear_model import LogisticRegression\n",
24 | "from sklearn.feature_extraction.text import TfidfVectorizer\n",
25 | "from sklearn.svm import SVC\n",
26 | "from sklearn.decomposition import TruncatedSVD\n",
27 | "from sklearn.preprocessing import StandardScaler\n",
28 | "from sklearn import decomposition, pipeline, metrics, grid_search\n"
29 | ]
30 | },
31 | {
32 | "cell_type": "code",
33 | "execution_count": 2,
34 | "metadata": {
35 | "collapsed": true
36 | },
37 | "outputs": [],
38 | "source": [
39 | "air_visit_data = pd.read_csv('air_visit_data.csv')\n",
40 | "sample_submission = pd.read_csv('sample_submission.csv')\n",
41 | "sample_submission['air_store_id'] = sample_submission['id'].apply(lambda x: x.split('_')[0]+str('_') +x.split('_')[1])\n",
42 | "sample_submission['visit_date'] = sample_submission['id'].apply(lambda x: x.split('_')[2])\n",
43 | "sample_submission['visit_date'] = pd.to_datetime(sample_submission['visit_date'],format= '%Y-%m-%d %H:%M:%S')"
44 | ]
45 | },
46 | {
47 | "cell_type": "code",
48 | "execution_count": 3,
49 | "metadata": {},
50 | "outputs": [
51 | {
52 | "data": {
53 | "text/plain": [
54 | "Timestamp('2016-01-01 00:00:00')"
55 | ]
56 | },
57 | "execution_count": 3,
58 | "metadata": {},
59 | "output_type": "execute_result"
60 | }
61 | ],
62 | "source": [
63 | "air_visit_data['visit_date'] = pd.to_datetime(air_visit_data['visit_date'],format= '%Y-%m-%d')\n",
64 | "air_visit_data.visit_date.min()"
65 | ]
66 | },
67 | {
68 | "cell_type": "code",
69 | "execution_count": 4,
70 | "metadata": {
71 | "collapsed": true
72 | },
73 | "outputs": [],
74 | "source": [
75 | "air_visit_data['visit_date_month'] =air_visit_data.visit_date.dt.month\n",
76 | "air_visit_data['visit_date_dayofw'] =air_visit_data.visit_date.dt.dayofweek\n",
77 | "air_visit_data['visit_date_year'] =air_visit_data.visit_date.dt.year\n",
78 | "air_visit_data['visit_date_dayofm'] =air_visit_data.visit_date.dt.day\n",
79 | "air_visit_data['weekofyear'] =air_visit_data.visit_date.dt.weekofyear"
80 | ]
81 | },
82 | {
83 | "cell_type": "code",
84 | "execution_count": 5,
85 | "metadata": {
86 | "collapsed": true
87 | },
88 | "outputs": [],
89 | "source": [
90 | "df=air_visit_data.groupby(['air_store_id','visit_date_month']).agg('mean')['visitors'].reset_index()"
91 | ]
92 | },
93 | {
94 | "cell_type": "code",
95 | "execution_count": 6,
96 | "metadata": {},
97 | "outputs": [
98 | {
99 | "data": {
100 | "text/plain": [
101 | "Index([u'air_store_id', u'visit_date_month', u'visitors'], dtype='object')"
102 | ]
103 | },
104 | "execution_count": 6,
105 | "metadata": {},
106 | "output_type": "execute_result"
107 | }
108 | ],
109 | "source": [
110 | "df.columns"
111 | ]
112 | },
113 | {
114 | "cell_type": "code",
115 | "execution_count": 7,
116 | "metadata": {
117 | "collapsed": true
118 | },
119 | "outputs": [],
120 | "source": [
121 | "df = df.pivot(index='air_store_id', columns='visit_date_month', values='visitors').reset_index()"
122 | ]
123 | },
124 | {
125 | "cell_type": "code",
126 | "execution_count": 8,
127 | "metadata": {
128 | "collapsed": true
129 | },
130 | "outputs": [],
131 | "source": [
132 | "df = df[['air_store_id', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]"
133 | ]
134 | },
135 | {
136 | "cell_type": "code",
137 | "execution_count": 9,
138 | "metadata": {
139 | "collapsed": true
140 | },
141 | "outputs": [],
142 | "source": [
143 | "df.columns = ['air_store_id', 'm0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6','m7', 'm8', 'm9', 'm10', 'm11']"
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": 10,
149 | "metadata": {},
150 | "outputs": [
151 | {
152 | "data": {
153 | "text/plain": [
154 | "air_store_id 0\n",
155 | "m0 12\n",
156 | "m1 10\n",
157 | "m2 1\n",
158 | "m3 4\n",
159 | "m4 515\n",
160 | "m5 515\n",
161 | "m6 30\n",
162 | "m7 27\n",
163 | "m8 22\n",
164 | "m9 20\n",
165 | "m10 18\n",
166 | "m11 18\n",
167 | "dtype: int64"
168 | ]
169 | },
170 | "execution_count": 10,
171 | "metadata": {},
172 | "output_type": "execute_result"
173 | }
174 | ],
175 | "source": [
176 | "df.isnull().sum()"
177 | ]
178 | },
179 | {
180 | "cell_type": "code",
181 | "execution_count": 11,
182 | "metadata": {
183 | "collapsed": true
184 | },
185 | "outputs": [],
186 | "source": [
187 | "df = df.drop(['m4','m5'],axis=1)"
188 | ]
189 | },
190 | {
191 | "cell_type": "code",
192 | "execution_count": 12,
193 | "metadata": {
194 | "collapsed": true
195 | },
196 | "outputs": [],
197 | "source": [
198 | "df.replace(np.nan,0,inplace = True)"
199 | ]
200 | },
201 | {
202 | "cell_type": "code",
203 | "execution_count": 13,
204 | "metadata": {
205 | "collapsed": true
206 | },
207 | "outputs": [],
208 | "source": [
209 | "df.to_csv('air_store_month_wise_mean.csv',index= False)"
210 | ]
211 | },
212 | {
213 | "cell_type": "code",
214 | "execution_count": 14,
215 | "metadata": {},
216 | "outputs": [
217 | {
218 | "data": {
219 | "text/html": [
220 | "
\n",
221 | "\n",
234 | "
\n",
235 | " \n",
236 | " \n",
237 | " | \n",
238 | " air_store_id | \n",
239 | " m0 | \n",
240 | " m1 | \n",
241 | " m2 | \n",
242 | " m3 | \n",
243 | " m6 | \n",
244 | " m7 | \n",
245 | " m8 | \n",
246 | " m9 | \n",
247 | " m10 | \n",
248 | " m11 | \n",
249 | "
\n",
250 | " \n",
251 | " \n",
252 | " \n",
253 | " 0 | \n",
254 | " air_00a91d42b08b08d9 | \n",
255 | " 25.869565 | \n",
256 | " 29.652174 | \n",
257 | " 29.384615 | \n",
258 | " 27.222222 | \n",
259 | " 26.080000 | \n",
260 | " 24.166667 | \n",
261 | " 22.833333 | \n",
262 | " 23.250000 | \n",
263 | " 22.625000 | \n",
264 | " 30.428571 | \n",
265 | "
\n",
266 | " \n",
267 | " 1 | \n",
268 | " air_0164b9927d20bcc3 | \n",
269 | " 10.789474 | \n",
270 | " 7.476190 | \n",
271 | " 9.625000 | \n",
272 | " 8.315789 | \n",
273 | " 0.000000 | \n",
274 | " 0.000000 | \n",
275 | " 0.000000 | \n",
276 | " 10.000000 | \n",
277 | " 8.260870 | \n",
278 | " 10.333333 | \n",
279 | "
\n",
280 | " \n",
281 | " 2 | \n",
282 | " air_0241aa3964b7f861 | \n",
283 | " 9.540000 | \n",
284 | " 9.212766 | \n",
285 | " 9.962264 | \n",
286 | " 10.250000 | \n",
287 | " 8.178571 | \n",
288 | " 10.125000 | \n",
289 | " 10.954545 | \n",
290 | " 9.153846 | \n",
291 | " 9.600000 | \n",
292 | " 12.000000 | \n",
293 | "
\n",
294 | " \n",
295 | " 3 | \n",
296 | " air_0328696196e46f18 | \n",
297 | " 7.714286 | \n",
298 | " 7.571429 | \n",
299 | " 9.470588 | \n",
300 | " 8.384615 | \n",
301 | " 8.000000 | \n",
302 | " 6.100000 | \n",
303 | " 10.500000 | \n",
304 | " 10.666667 | \n",
305 | " 3.888889 | \n",
306 | " 10.666667 | \n",
307 | "
\n",
308 | " \n",
309 | " 4 | \n",
310 | " air_034a3d5b40d5b1b1 | \n",
311 | " 5.733333 | \n",
312 | " 27.428571 | \n",
313 | " 23.806452 | \n",
314 | " 22.409091 | \n",
315 | " 13.777778 | \n",
316 | " 11.444444 | \n",
317 | " 9.333333 | \n",
318 | " 7.407407 | \n",
319 | " 12.272727 | \n",
320 | " 9.357143 | \n",
321 | "
\n",
322 | " \n",
323 | " 5 | \n",
324 | " air_036d4f1ee7285390 | \n",
325 | " 17.807692 | \n",
326 | " 16.071429 | \n",
327 | " 20.161290 | \n",
328 | " 20.590909 | \n",
329 | " 29.483871 | \n",
330 | " 32.840000 | \n",
331 | " 24.733333 | \n",
332 | " 23.451613 | \n",
333 | " 21.266667 | \n",
334 | " 17.666667 | \n",
335 | "
\n",
336 | " \n",
337 | " 6 | \n",
338 | " air_0382c794b73b51ad | \n",
339 | " 13.864865 | \n",
340 | " 24.322581 | \n",
341 | " 28.333333 | \n",
342 | " 27.954545 | \n",
343 | " 22.857143 | \n",
344 | " 21.166667 | \n",
345 | " 20.241379 | \n",
346 | " 23.962963 | \n",
347 | " 27.880000 | \n",
348 | " 32.464286 | \n",
349 | "
\n",
350 | " \n",
351 | " 7 | \n",
352 | " air_03963426c9312048 | \n",
353 | " 40.722222 | \n",
354 | " 36.716981 | \n",
355 | " 45.051724 | \n",
356 | " 45.040816 | \n",
357 | " 37.038462 | \n",
358 | " 31.333333 | \n",
359 | " 34.884615 | \n",
360 | " 31.307692 | \n",
361 | " 31.370370 | \n",
362 | " 49.269231 | \n",
363 | "
\n",
364 | " \n",
365 | " 8 | \n",
366 | " air_04341b588bde96cd | \n",
367 | " 35.543860 | \n",
368 | " 33.228070 | \n",
369 | " 41.387097 | \n",
370 | " 37.519231 | \n",
371 | " 38.806452 | \n",
372 | " 29.548387 | \n",
373 | " 35.400000 | \n",
374 | " 35.322581 | \n",
375 | " 34.200000 | \n",
376 | " 35.833333 | \n",
377 | "
\n",
378 | " \n",
379 | " 9 | \n",
380 | " air_049f6d5b402a31b2 | \n",
381 | " 10.250000 | \n",
382 | " 11.541667 | \n",
383 | " 12.214286 | \n",
384 | " 12.894737 | \n",
385 | " 11.346154 | \n",
386 | " 12.111111 | \n",
387 | " 12.000000 | \n",
388 | " 9.777778 | \n",
389 | " 10.107143 | \n",
390 | " 13.200000 | \n",
391 | "
\n",
392 | " \n",
393 | " 10 | \n",
394 | " air_04cae7c1bc9b2a0b | \n",
395 | " 24.928571 | \n",
396 | " 24.928571 | \n",
397 | " 21.903226 | \n",
398 | " 20.545455 | \n",
399 | " 16.129032 | \n",
400 | " 15.322581 | \n",
401 | " 16.172414 | \n",
402 | " 23.870968 | \n",
403 | " 26.233333 | \n",
404 | " 31.233333 | \n",
405 | "
\n",
406 | " \n",
407 | " 11 | \n",
408 | " air_0585011fa179bcce | \n",
409 | " 4.500000 | \n",
410 | " 3.925926 | \n",
411 | " 5.392857 | \n",
412 | " 5.333333 | \n",
413 | " 7.000000 | \n",
414 | " 5.214286 | \n",
415 | " 4.250000 | \n",
416 | " 3.607143 | \n",
417 | " 3.814815 | \n",
418 | " 4.642857 | \n",
419 | "
\n",
420 | " \n",
421 | " 12 | \n",
422 | " air_05c325d315cc17f5 | \n",
423 | " 18.910714 | \n",
424 | " 19.982456 | \n",
425 | " 24.032258 | \n",
426 | " 24.826923 | \n",
427 | " 21.870968 | \n",
428 | " 22.965517 | \n",
429 | " 24.233333 | \n",
430 | " 23.225806 | \n",
431 | " 22.633333 | \n",
432 | " 25.774194 | \n",
433 | "
\n",
434 | " \n",
435 | " 13 | \n",
436 | " air_0647f17b4dc041c8 | \n",
437 | " 37.064516 | \n",
438 | " 35.444444 | \n",
439 | " 39.225806 | \n",
440 | " 30.636364 | \n",
441 | " 36.857143 | \n",
442 | " 30.428571 | \n",
443 | " 32.166667 | \n",
444 | " 41.322581 | \n",
445 | " 40.714286 | \n",
446 | " 38.354839 | \n",
447 | "
\n",
448 | " \n",
449 | " 14 | \n",
450 | " air_064e203265ee5753 | \n",
451 | " 20.272727 | \n",
452 | " 24.809524 | \n",
453 | " 24.916667 | \n",
454 | " 19.937500 | \n",
455 | " 19.291667 | \n",
456 | " 15.363636 | \n",
457 | " 16.708333 | \n",
458 | " 21.583333 | \n",
459 | " 21.227273 | \n",
460 | " 32.347826 | \n",
461 | "
\n",
462 | " \n",
463 | " 15 | \n",
464 | " air_066f0221b8a4d533 | \n",
465 | " 13.482759 | \n",
466 | " 10.740741 | \n",
467 | " 18.392857 | \n",
468 | " 12.428571 | \n",
469 | " 13.903226 | \n",
470 | " 16.379310 | \n",
471 | " 15.785714 | \n",
472 | " 10.464286 | \n",
473 | " 15.357143 | \n",
474 | " 15.571429 | \n",
475 | "
\n",
476 | " \n",
477 | " 16 | \n",
478 | " air_06f95ac5c33aca10 | \n",
479 | " 17.617021 | \n",
480 | " 23.673469 | \n",
481 | " 26.672727 | \n",
482 | " 25.511111 | \n",
483 | " 22.888889 | \n",
484 | " 16.708333 | \n",
485 | " 16.346154 | \n",
486 | " 17.120000 | \n",
487 | " 22.038462 | \n",
488 | " 25.040000 | \n",
489 | "
\n",
490 | " \n",
491 | " 17 | \n",
492 | " air_0728814bd98f7367 | \n",
493 | " 8.941176 | \n",
494 | " 9.518519 | \n",
495 | " 11.200000 | \n",
496 | " 9.900000 | \n",
497 | " 12.548387 | \n",
498 | " 9.285714 | \n",
499 | " 8.137931 | \n",
500 | " 9.633333 | \n",
501 | " 8.760000 | \n",
502 | " 9.416667 | \n",
503 | "
\n",
504 | " \n",
505 | " 18 | \n",
506 | " air_0768ab3910f7967f | \n",
507 | " 18.775000 | \n",
508 | " 25.027027 | \n",
509 | " 19.767442 | \n",
510 | " 25.897436 | \n",
511 | " 21.761905 | \n",
512 | " 10.086957 | \n",
513 | " 7.958333 | \n",
514 | " 23.764706 | \n",
515 | " 20.411765 | \n",
516 | " 24.318182 | \n",
517 | "
\n",
518 | " \n",
519 | " 19 | \n",
520 | " air_07b314d83059c4d2 | \n",
521 | " 39.733333 | \n",
522 | " 35.464286 | \n",
523 | " 43.354839 | \n",
524 | " 37.272727 | \n",
525 | " 26.387097 | \n",
526 | " 25.096774 | \n",
527 | " 22.600000 | \n",
528 | " 24.838710 | \n",
529 | " 31.933333 | \n",
530 | " 47.233333 | \n",
531 | "
\n",
532 | " \n",
533 | " 20 | \n",
534 | " air_07bb665f9cdfbdfb | \n",
535 | " 25.454545 | \n",
536 | " 27.510204 | \n",
537 | " 34.660000 | \n",
538 | " 30.700000 | \n",
539 | " 35.846154 | \n",
540 | " 42.500000 | \n",
541 | " 26.958333 | \n",
542 | " 26.423077 | \n",
543 | " 25.304348 | \n",
544 | " 23.080000 | \n",
545 | "
\n",
546 | " \n",
547 | " 21 | \n",
548 | " air_082908692355165e | \n",
549 | " 40.377358 | \n",
550 | " 42.075472 | \n",
551 | " 44.215686 | \n",
552 | " 47.897959 | \n",
553 | " 39.392857 | \n",
554 | " 29.821429 | \n",
555 | " 37.821429 | \n",
556 | " 39.851852 | \n",
557 | " 38.428571 | \n",
558 | " 48.571429 | \n",
559 | "
\n",
560 | " \n",
561 | " 22 | \n",
562 | " air_083ddc520ea47e1e | \n",
563 | " 8.304348 | \n",
564 | " 8.294118 | \n",
565 | " 19.380952 | \n",
566 | " 12.625000 | \n",
567 | " 12.291667 | \n",
568 | " 13.285714 | \n",
569 | " 8.954545 | \n",
570 | " 5.750000 | \n",
571 | " 4.941176 | \n",
572 | " 7.875000 | \n",
573 | "
\n",
574 | " \n",
575 | " 23 | \n",
576 | " air_0845d8395f30c6bb | \n",
577 | " 16.629630 | \n",
578 | " 22.407407 | \n",
579 | " 24.862069 | \n",
580 | " 22.954545 | \n",
581 | " 22.733333 | \n",
582 | " 19.551724 | \n",
583 | " 23.034483 | \n",
584 | " 20.965517 | \n",
585 | " 19.433333 | \n",
586 | " 27.000000 | \n",
587 | "
\n",
588 | " \n",
589 | " 24 | \n",
590 | " air_084d98859256acf0 | \n",
591 | " 16.083333 | \n",
592 | " 14.818182 | \n",
593 | " 15.615385 | \n",
594 | " 15.526316 | \n",
595 | " 15.560000 | \n",
596 | " 14.840000 | \n",
597 | " 12.541667 | \n",
598 | " 14.080000 | \n",
599 | " 12.434783 | \n",
600 | " 15.370370 | \n",
601 | "
\n",
602 | " \n",
603 | " 25 | \n",
604 | " air_0867f7bebad6a649 | \n",
605 | " 22.269231 | \n",
606 | " 18.964286 | \n",
607 | " 29.344828 | \n",
608 | " 21.681818 | \n",
609 | " 0.000000 | \n",
610 | " 0.000000 | \n",
611 | " 25.840000 | \n",
612 | " 18.483871 | \n",
613 | " 19.433333 | \n",
614 | " 29.137931 | \n",
615 | "
\n",
616 | " \n",
617 | " 26 | \n",
618 | " air_08ba8cd01b3ba010 | \n",
619 | " 10.413793 | \n",
620 | " 10.433962 | \n",
621 | " 9.426230 | \n",
622 | " 10.280000 | \n",
623 | " 11.483871 | \n",
624 | " 9.733333 | \n",
625 | " 9.300000 | \n",
626 | " 10.724138 | \n",
627 | " 10.357143 | \n",
628 | " 12.433333 | \n",
629 | "
\n",
630 | " \n",
631 | " 27 | \n",
632 | " air_08cb3c4ee6cd6a22 | \n",
633 | " 16.516129 | \n",
634 | " 14.142857 | \n",
635 | " 14.677419 | \n",
636 | " 12.842105 | \n",
637 | " 15.300000 | \n",
638 | " 15.100000 | \n",
639 | " 15.466667 | \n",
640 | " 15.600000 | \n",
641 | " 13.100000 | \n",
642 | " 17.766667 | \n",
643 | "
\n",
644 | " \n",
645 | " 28 | \n",
646 | " air_08ef81d5b7a0d13f | \n",
647 | " 10.125000 | \n",
648 | " 13.625000 | \n",
649 | " 13.640000 | \n",
650 | " 12.315789 | \n",
651 | " 14.071429 | \n",
652 | " 12.782609 | \n",
653 | " 16.909091 | \n",
654 | " 14.370370 | \n",
655 | " 12.695652 | \n",
656 | " 19.680000 | \n",
657 | "
\n",
658 | " \n",
659 | " 29 | \n",
660 | " air_08f994758a1e76d4 | \n",
661 | " 28.357143 | \n",
662 | " 25.964286 | \n",
663 | " 27.733333 | \n",
664 | " 27.090909 | \n",
665 | " 23.225806 | \n",
666 | " 25.774194 | \n",
667 | " 22.931034 | \n",
668 | " 23.645161 | \n",
669 | " 29.241379 | \n",
670 | " 28.500000 | \n",
671 | "
\n",
672 | " \n",
673 | " ... | \n",
674 | " ... | \n",
675 | " ... | \n",
676 | " ... | \n",
677 | " ... | \n",
678 | " ... | \n",
679 | " ... | \n",
680 | " ... | \n",
681 | " ... | \n",
682 | " ... | \n",
683 | " ... | \n",
684 | " ... | \n",
685 | "
\n",
686 | " \n",
687 | " 799 | \n",
688 | " air_f6b2489ccf873c3b | \n",
689 | " 15.534483 | \n",
690 | " 15.767857 | \n",
691 | " 15.612903 | \n",
692 | " 16.423077 | \n",
693 | " 16.129032 | \n",
694 | " 14.933333 | \n",
695 | " 16.300000 | \n",
696 | " 16.064516 | \n",
697 | " 15.733333 | \n",
698 | " 17.161290 | \n",
699 | "
\n",
700 | " \n",
701 | " 800 | \n",
702 | " air_f6bfd27e2e174d16 | \n",
703 | " 16.560000 | \n",
704 | " 16.961538 | \n",
705 | " 15.962963 | \n",
706 | " 11.550000 | \n",
707 | " 15.708333 | \n",
708 | " 15.772727 | \n",
709 | " 12.760000 | \n",
710 | " 11.884615 | \n",
711 | " 17.333333 | \n",
712 | " 20.137931 | \n",
713 | "
\n",
714 | " \n",
715 | " 801 | \n",
716 | " air_f6cdaf7b7fdc6d78 | \n",
717 | " 14.071429 | \n",
718 | " 11.750000 | \n",
719 | " 11.137931 | \n",
720 | " 9.272727 | \n",
721 | " 10.481481 | \n",
722 | " 11.259259 | \n",
723 | " 8.185185 | \n",
724 | " 10.428571 | \n",
725 | " 8.866667 | \n",
726 | " 9.692308 | \n",
727 | "
\n",
728 | " \n",
729 | " 802 | \n",
730 | " air_f8233ad00755c35c | \n",
731 | " 29.961538 | \n",
732 | " 36.680000 | \n",
733 | " 33.827586 | \n",
734 | " 30.333333 | \n",
735 | " 37.961538 | \n",
736 | " 38.814815 | \n",
737 | " 35.392857 | \n",
738 | " 34.370370 | \n",
739 | " 34.222222 | \n",
740 | " 39.074074 | \n",
741 | "
\n",
742 | " \n",
743 | " 803 | \n",
744 | " air_f85e21e543cf44f2 | \n",
745 | " 4.047619 | \n",
746 | " 4.523810 | \n",
747 | " 5.703704 | \n",
748 | " 5.411765 | \n",
749 | " 5.600000 | \n",
750 | " 5.428571 | \n",
751 | " 4.173913 | \n",
752 | " 6.125000 | \n",
753 | " 5.434783 | \n",
754 | " 3.500000 | \n",
755 | "
\n",
756 | " \n",
757 | " 804 | \n",
758 | " air_f88898cd09f40496 | \n",
759 | " 10.225806 | \n",
760 | " 8.785714 | \n",
761 | " 7.774194 | \n",
762 | " 7.950000 | \n",
763 | " 8.642857 | \n",
764 | " 6.740741 | \n",
765 | " 7.933333 | \n",
766 | " 5.642857 | \n",
767 | " 6.961538 | \n",
768 | " 8.034483 | \n",
769 | "
\n",
770 | " \n",
771 | " 805 | \n",
772 | " air_f911308e19d64236 | \n",
773 | " 33.860000 | \n",
774 | " 31.166667 | \n",
775 | " 38.129630 | \n",
776 | " 37.021277 | \n",
777 | " 35.750000 | \n",
778 | " 33.391304 | \n",
779 | " 34.538462 | \n",
780 | " 37.346154 | \n",
781 | " 37.384615 | \n",
782 | " 46.185185 | \n",
783 | "
\n",
784 | " \n",
785 | " 806 | \n",
786 | " air_f9168b23fdfc1e52 | \n",
787 | " 9.440000 | \n",
788 | " 11.960000 | \n",
789 | " 11.600000 | \n",
790 | " 17.181818 | \n",
791 | " 12.285714 | \n",
792 | " 12.800000 | \n",
793 | " 12.740741 | \n",
794 | " 13.689655 | \n",
795 | " 11.384615 | \n",
796 | " 11.666667 | \n",
797 | "
\n",
798 | " \n",
799 | " 807 | \n",
800 | " air_f927b2da69a82341 | \n",
801 | " 20.918919 | \n",
802 | " 19.804878 | \n",
803 | " 18.232558 | \n",
804 | " 15.967742 | \n",
805 | " 11.238095 | \n",
806 | " 11.550000 | \n",
807 | " 10.400000 | \n",
808 | " 10.000000 | \n",
809 | " 9.631579 | \n",
810 | " 13.181818 | \n",
811 | "
\n",
812 | " \n",
813 | " 808 | \n",
814 | " air_f957c6d6467d4d90 | \n",
815 | " 9.966667 | \n",
816 | " 8.000000 | \n",
817 | " 10.433333 | \n",
818 | " 10.181818 | \n",
819 | " 9.935484 | \n",
820 | " 7.290323 | \n",
821 | " 11.666667 | \n",
822 | " 13.064516 | \n",
823 | " 10.900000 | \n",
824 | " 11.193548 | \n",
825 | "
\n",
826 | " \n",
827 | " 809 | \n",
828 | " air_f96765e800907c77 | \n",
829 | " 48.086957 | \n",
830 | " 46.250000 | \n",
831 | " 49.230769 | \n",
832 | " 45.800000 | \n",
833 | " 37.038462 | \n",
834 | " 23.040000 | \n",
835 | " 23.846154 | \n",
836 | " 25.192308 | \n",
837 | " 38.000000 | \n",
838 | " 46.592593 | \n",
839 | "
\n",
840 | " \n",
841 | " 810 | \n",
842 | " air_fa12b40b02fecfd8 | \n",
843 | " 14.500000 | \n",
844 | " 14.535714 | \n",
845 | " 16.193548 | \n",
846 | " 16.090909 | \n",
847 | " 19.666667 | \n",
848 | " 15.461538 | \n",
849 | " 15.384615 | \n",
850 | " 19.000000 | \n",
851 | " 12.960000 | \n",
852 | " 19.074074 | \n",
853 | "
\n",
854 | " \n",
855 | " 811 | \n",
856 | " air_fa4ffc9057812fa2 | \n",
857 | " 6.933333 | \n",
858 | " 5.386364 | \n",
859 | " 7.145833 | \n",
860 | " 6.081633 | \n",
861 | " 7.259259 | \n",
862 | " 4.750000 | \n",
863 | " 7.739130 | \n",
864 | " 9.000000 | \n",
865 | " 5.590909 | \n",
866 | " 7.130435 | \n",
867 | "
\n",
868 | " \n",
869 | " 812 | \n",
870 | " air_fab092c35776a9b1 | \n",
871 | " 10.553571 | \n",
872 | " 12.500000 | \n",
873 | " 13.966667 | \n",
874 | " 11.568627 | \n",
875 | " 7.258065 | \n",
876 | " 9.666667 | \n",
877 | " 9.928571 | \n",
878 | " 13.068966 | \n",
879 | " 11.000000 | \n",
880 | " 13.200000 | \n",
881 | "
\n",
882 | " \n",
883 | " 813 | \n",
884 | " air_fb44f566d4f64a4e | \n",
885 | " 0.000000 | \n",
886 | " 0.000000 | \n",
887 | " 21.333333 | \n",
888 | " 15.466667 | \n",
889 | " 25.161290 | \n",
890 | " 12.290323 | \n",
891 | " 13.655172 | \n",
892 | " 15.000000 | \n",
893 | " 12.000000 | \n",
894 | " 0.000000 | \n",
895 | "
\n",
896 | " \n",
897 | " 814 | \n",
898 | " air_fbadf737162a5ce3 | \n",
899 | " 16.938776 | \n",
900 | " 17.326531 | \n",
901 | " 17.490909 | \n",
902 | " 19.511111 | \n",
903 | " 24.538462 | \n",
904 | " 23.423077 | \n",
905 | " 23.076923 | \n",
906 | " 22.555556 | \n",
907 | " 18.720000 | \n",
908 | " 23.666667 | \n",
909 | "
\n",
910 | " \n",
911 | " 815 | \n",
912 | " air_fc477473134e9ae5 | \n",
913 | " 20.423077 | \n",
914 | " 17.500000 | \n",
915 | " 19.129032 | \n",
916 | " 14.363636 | \n",
917 | " 19.709677 | \n",
918 | " 18.344828 | \n",
919 | " 16.068966 | \n",
920 | " 15.677419 | \n",
921 | " 16.392857 | \n",
922 | " 27.290323 | \n",
923 | "
\n",
924 | " \n",
925 | " 816 | \n",
926 | " air_fcd4492c83f1c6b9 | \n",
927 | " 27.632653 | \n",
928 | " 26.962264 | \n",
929 | " 27.344828 | \n",
930 | " 25.955556 | \n",
931 | " 29.172414 | \n",
932 | " 24.034483 | \n",
933 | " 28.000000 | \n",
934 | " 22.730769 | \n",
935 | " 24.428571 | \n",
936 | " 34.607143 | \n",
937 | "
\n",
938 | " \n",
939 | " 817 | \n",
940 | " air_fcfbdcf7b1f82c6e | \n",
941 | " 38.409091 | \n",
942 | " 31.037037 | \n",
943 | " 42.080000 | \n",
944 | " 36.368421 | \n",
945 | " 33.366667 | \n",
946 | " 38.096774 | \n",
947 | " 38.551724 | \n",
948 | " 36.115385 | \n",
949 | " 28.423077 | \n",
950 | " 53.000000 | \n",
951 | "
\n",
952 | " \n",
953 | " 818 | \n",
954 | " air_fd154088b1de6fa7 | \n",
955 | " 7.210526 | \n",
956 | " 5.176471 | \n",
957 | " 5.714286 | \n",
958 | " 6.705882 | \n",
959 | " 6.111111 | \n",
960 | " 4.437500 | \n",
961 | " 5.761905 | \n",
962 | " 7.466667 | \n",
963 | " 5.230769 | \n",
964 | " 6.300000 | \n",
965 | "
\n",
966 | " \n",
967 | " 819 | \n",
968 | " air_fd6aac1043520e83 | \n",
969 | " 31.586957 | \n",
970 | " 34.340426 | \n",
971 | " 33.377358 | \n",
972 | " 33.380952 | \n",
973 | " 34.153846 | \n",
974 | " 26.173913 | \n",
975 | " 33.956522 | \n",
976 | " 31.840000 | \n",
977 | " 31.166667 | \n",
978 | " 39.086957 | \n",
979 | "
\n",
980 | " \n",
981 | " 820 | \n",
982 | " air_fdc02ec4a3d21ea4 | \n",
983 | " 17.933333 | \n",
984 | " 15.074074 | \n",
985 | " 11.866667 | \n",
986 | " 7.909091 | \n",
987 | " 13.321429 | \n",
988 | " 9.678571 | \n",
989 | " 10.964286 | \n",
990 | " 18.466667 | \n",
991 | " 18.766667 | \n",
992 | " 25.774194 | \n",
993 | "
\n",
994 | " \n",
995 | " 821 | \n",
996 | " air_fdcfef8bd859f650 | \n",
997 | " 3.458333 | \n",
998 | " 3.730769 | \n",
999 | " 4.566667 | \n",
1000 | " 3.454545 | \n",
1001 | " 2.117647 | \n",
1002 | " 1.166667 | \n",
1003 | " 1.333333 | \n",
1004 | " 0.000000 | \n",
1005 | " 3.210526 | \n",
1006 | " 4.592593 | \n",
1007 | "
\n",
1008 | " \n",
1009 | " 822 | \n",
1010 | " air_fe22ef5a9cbef123 | \n",
1011 | " 25.660714 | \n",
1012 | " 22.122807 | \n",
1013 | " 32.919355 | \n",
1014 | " 23.711538 | \n",
1015 | " 21.580645 | \n",
1016 | " 25.516129 | \n",
1017 | " 26.900000 | \n",
1018 | " 30.000000 | \n",
1019 | " 26.400000 | \n",
1020 | " 39.064516 | \n",
1021 | "
\n",
1022 | " \n",
1023 | " 823 | \n",
1024 | " air_fe58c074ec1445ea | \n",
1025 | " 26.857143 | \n",
1026 | " 29.608696 | \n",
1027 | " 28.166667 | \n",
1028 | " 36.166667 | \n",
1029 | " 30.772727 | \n",
1030 | " 24.000000 | \n",
1031 | " 25.909091 | \n",
1032 | " 41.736842 | \n",
1033 | " 26.500000 | \n",
1034 | " 26.350000 | \n",
1035 | "
\n",
1036 | " \n",
1037 | " 824 | \n",
1038 | " air_fea5dc9594450608 | \n",
1039 | " 13.807692 | \n",
1040 | " 18.041667 | \n",
1041 | " 15.866667 | \n",
1042 | " 16.227273 | \n",
1043 | " 13.586207 | \n",
1044 | " 13.750000 | \n",
1045 | " 13.423077 | \n",
1046 | " 12.433333 | \n",
1047 | " 11.333333 | \n",
1048 | " 17.344828 | \n",
1049 | "
\n",
1050 | " \n",
1051 | " 825 | \n",
1052 | " air_fee8dcf4d619598e | \n",
1053 | " 22.633333 | \n",
1054 | " 27.714286 | \n",
1055 | " 24.903226 | \n",
1056 | " 26.727273 | \n",
1057 | " 29.193548 | \n",
1058 | " 26.233333 | \n",
1059 | " 27.666667 | \n",
1060 | " 23.838710 | \n",
1061 | " 22.633333 | \n",
1062 | " 29.640000 | \n",
1063 | "
\n",
1064 | " \n",
1065 | " 826 | \n",
1066 | " air_fef9ccb3ba0da2f7 | \n",
1067 | " 6.565217 | \n",
1068 | " 6.041667 | \n",
1069 | " 7.000000 | \n",
1070 | " 9.421053 | \n",
1071 | " 13.296296 | \n",
1072 | " 10.772727 | \n",
1073 | " 12.384615 | \n",
1074 | " 10.333333 | \n",
1075 | " 11.120000 | \n",
1076 | " 8.720000 | \n",
1077 | "
\n",
1078 | " \n",
1079 | " 827 | \n",
1080 | " air_ffcc2d5087e1b476 | \n",
1081 | " 22.913043 | \n",
1082 | " 19.791667 | \n",
1083 | " 20.857143 | \n",
1084 | " 19.500000 | \n",
1085 | " 20.884615 | \n",
1086 | " 18.090909 | \n",
1087 | " 19.200000 | \n",
1088 | " 18.560000 | \n",
1089 | " 21.440000 | \n",
1090 | " 20.880000 | \n",
1091 | "
\n",
1092 | " \n",
1093 | " 828 | \n",
1094 | " air_fff68b929994bfbd | \n",
1095 | " 5.038462 | \n",
1096 | " 4.821429 | \n",
1097 | " 5.000000 | \n",
1098 | " 4.636364 | \n",
1099 | " 5.076923 | \n",
1100 | " 5.440000 | \n",
1101 | " 4.857143 | \n",
1102 | " 4.888889 | \n",
1103 | " 5.827586 | \n",
1104 | " 5.206897 | \n",
1105 | "
\n",
1106 | " \n",
1107 | "
\n",
1108 | "
829 rows × 11 columns
\n",
1109 | "
"
1110 | ],
1111 | "text/plain": [
1112 | " air_store_id m0 m1 m2 m3 \\\n",
1113 | "0 air_00a91d42b08b08d9 25.869565 29.652174 29.384615 27.222222 \n",
1114 | "1 air_0164b9927d20bcc3 10.789474 7.476190 9.625000 8.315789 \n",
1115 | "2 air_0241aa3964b7f861 9.540000 9.212766 9.962264 10.250000 \n",
1116 | "3 air_0328696196e46f18 7.714286 7.571429 9.470588 8.384615 \n",
1117 | "4 air_034a3d5b40d5b1b1 5.733333 27.428571 23.806452 22.409091 \n",
1118 | "5 air_036d4f1ee7285390 17.807692 16.071429 20.161290 20.590909 \n",
1119 | "6 air_0382c794b73b51ad 13.864865 24.322581 28.333333 27.954545 \n",
1120 | "7 air_03963426c9312048 40.722222 36.716981 45.051724 45.040816 \n",
1121 | "8 air_04341b588bde96cd 35.543860 33.228070 41.387097 37.519231 \n",
1122 | "9 air_049f6d5b402a31b2 10.250000 11.541667 12.214286 12.894737 \n",
1123 | "10 air_04cae7c1bc9b2a0b 24.928571 24.928571 21.903226 20.545455 \n",
1124 | "11 air_0585011fa179bcce 4.500000 3.925926 5.392857 5.333333 \n",
1125 | "12 air_05c325d315cc17f5 18.910714 19.982456 24.032258 24.826923 \n",
1126 | "13 air_0647f17b4dc041c8 37.064516 35.444444 39.225806 30.636364 \n",
1127 | "14 air_064e203265ee5753 20.272727 24.809524 24.916667 19.937500 \n",
1128 | "15 air_066f0221b8a4d533 13.482759 10.740741 18.392857 12.428571 \n",
1129 | "16 air_06f95ac5c33aca10 17.617021 23.673469 26.672727 25.511111 \n",
1130 | "17 air_0728814bd98f7367 8.941176 9.518519 11.200000 9.900000 \n",
1131 | "18 air_0768ab3910f7967f 18.775000 25.027027 19.767442 25.897436 \n",
1132 | "19 air_07b314d83059c4d2 39.733333 35.464286 43.354839 37.272727 \n",
1133 | "20 air_07bb665f9cdfbdfb 25.454545 27.510204 34.660000 30.700000 \n",
1134 | "21 air_082908692355165e 40.377358 42.075472 44.215686 47.897959 \n",
1135 | "22 air_083ddc520ea47e1e 8.304348 8.294118 19.380952 12.625000 \n",
1136 | "23 air_0845d8395f30c6bb 16.629630 22.407407 24.862069 22.954545 \n",
1137 | "24 air_084d98859256acf0 16.083333 14.818182 15.615385 15.526316 \n",
1138 | "25 air_0867f7bebad6a649 22.269231 18.964286 29.344828 21.681818 \n",
1139 | "26 air_08ba8cd01b3ba010 10.413793 10.433962 9.426230 10.280000 \n",
1140 | "27 air_08cb3c4ee6cd6a22 16.516129 14.142857 14.677419 12.842105 \n",
1141 | "28 air_08ef81d5b7a0d13f 10.125000 13.625000 13.640000 12.315789 \n",
1142 | "29 air_08f994758a1e76d4 28.357143 25.964286 27.733333 27.090909 \n",
1143 | ".. ... ... ... ... ... \n",
1144 | "799 air_f6b2489ccf873c3b 15.534483 15.767857 15.612903 16.423077 \n",
1145 | "800 air_f6bfd27e2e174d16 16.560000 16.961538 15.962963 11.550000 \n",
1146 | "801 air_f6cdaf7b7fdc6d78 14.071429 11.750000 11.137931 9.272727 \n",
1147 | "802 air_f8233ad00755c35c 29.961538 36.680000 33.827586 30.333333 \n",
1148 | "803 air_f85e21e543cf44f2 4.047619 4.523810 5.703704 5.411765 \n",
1149 | "804 air_f88898cd09f40496 10.225806 8.785714 7.774194 7.950000 \n",
1150 | "805 air_f911308e19d64236 33.860000 31.166667 38.129630 37.021277 \n",
1151 | "806 air_f9168b23fdfc1e52 9.440000 11.960000 11.600000 17.181818 \n",
1152 | "807 air_f927b2da69a82341 20.918919 19.804878 18.232558 15.967742 \n",
1153 | "808 air_f957c6d6467d4d90 9.966667 8.000000 10.433333 10.181818 \n",
1154 | "809 air_f96765e800907c77 48.086957 46.250000 49.230769 45.800000 \n",
1155 | "810 air_fa12b40b02fecfd8 14.500000 14.535714 16.193548 16.090909 \n",
1156 | "811 air_fa4ffc9057812fa2 6.933333 5.386364 7.145833 6.081633 \n",
1157 | "812 air_fab092c35776a9b1 10.553571 12.500000 13.966667 11.568627 \n",
1158 | "813 air_fb44f566d4f64a4e 0.000000 0.000000 21.333333 15.466667 \n",
1159 | "814 air_fbadf737162a5ce3 16.938776 17.326531 17.490909 19.511111 \n",
1160 | "815 air_fc477473134e9ae5 20.423077 17.500000 19.129032 14.363636 \n",
1161 | "816 air_fcd4492c83f1c6b9 27.632653 26.962264 27.344828 25.955556 \n",
1162 | "817 air_fcfbdcf7b1f82c6e 38.409091 31.037037 42.080000 36.368421 \n",
1163 | "818 air_fd154088b1de6fa7 7.210526 5.176471 5.714286 6.705882 \n",
1164 | "819 air_fd6aac1043520e83 31.586957 34.340426 33.377358 33.380952 \n",
1165 | "820 air_fdc02ec4a3d21ea4 17.933333 15.074074 11.866667 7.909091 \n",
1166 | "821 air_fdcfef8bd859f650 3.458333 3.730769 4.566667 3.454545 \n",
1167 | "822 air_fe22ef5a9cbef123 25.660714 22.122807 32.919355 23.711538 \n",
1168 | "823 air_fe58c074ec1445ea 26.857143 29.608696 28.166667 36.166667 \n",
1169 | "824 air_fea5dc9594450608 13.807692 18.041667 15.866667 16.227273 \n",
1170 | "825 air_fee8dcf4d619598e 22.633333 27.714286 24.903226 26.727273 \n",
1171 | "826 air_fef9ccb3ba0da2f7 6.565217 6.041667 7.000000 9.421053 \n",
1172 | "827 air_ffcc2d5087e1b476 22.913043 19.791667 20.857143 19.500000 \n",
1173 | "828 air_fff68b929994bfbd 5.038462 4.821429 5.000000 4.636364 \n",
1174 | "\n",
1175 | " m6 m7 m8 m9 m10 m11 \n",
1176 | "0 26.080000 24.166667 22.833333 23.250000 22.625000 30.428571 \n",
1177 | "1 0.000000 0.000000 0.000000 10.000000 8.260870 10.333333 \n",
1178 | "2 8.178571 10.125000 10.954545 9.153846 9.600000 12.000000 \n",
1179 | "3 8.000000 6.100000 10.500000 10.666667 3.888889 10.666667 \n",
1180 | "4 13.777778 11.444444 9.333333 7.407407 12.272727 9.357143 \n",
1181 | "5 29.483871 32.840000 24.733333 23.451613 21.266667 17.666667 \n",
1182 | "6 22.857143 21.166667 20.241379 23.962963 27.880000 32.464286 \n",
1183 | "7 37.038462 31.333333 34.884615 31.307692 31.370370 49.269231 \n",
1184 | "8 38.806452 29.548387 35.400000 35.322581 34.200000 35.833333 \n",
1185 | "9 11.346154 12.111111 12.000000 9.777778 10.107143 13.200000 \n",
1186 | "10 16.129032 15.322581 16.172414 23.870968 26.233333 31.233333 \n",
1187 | "11 7.000000 5.214286 4.250000 3.607143 3.814815 4.642857 \n",
1188 | "12 21.870968 22.965517 24.233333 23.225806 22.633333 25.774194 \n",
1189 | "13 36.857143 30.428571 32.166667 41.322581 40.714286 38.354839 \n",
1190 | "14 19.291667 15.363636 16.708333 21.583333 21.227273 32.347826 \n",
1191 | "15 13.903226 16.379310 15.785714 10.464286 15.357143 15.571429 \n",
1192 | "16 22.888889 16.708333 16.346154 17.120000 22.038462 25.040000 \n",
1193 | "17 12.548387 9.285714 8.137931 9.633333 8.760000 9.416667 \n",
1194 | "18 21.761905 10.086957 7.958333 23.764706 20.411765 24.318182 \n",
1195 | "19 26.387097 25.096774 22.600000 24.838710 31.933333 47.233333 \n",
1196 | "20 35.846154 42.500000 26.958333 26.423077 25.304348 23.080000 \n",
1197 | "21 39.392857 29.821429 37.821429 39.851852 38.428571 48.571429 \n",
1198 | "22 12.291667 13.285714 8.954545 5.750000 4.941176 7.875000 \n",
1199 | "23 22.733333 19.551724 23.034483 20.965517 19.433333 27.000000 \n",
1200 | "24 15.560000 14.840000 12.541667 14.080000 12.434783 15.370370 \n",
1201 | "25 0.000000 0.000000 25.840000 18.483871 19.433333 29.137931 \n",
1202 | "26 11.483871 9.733333 9.300000 10.724138 10.357143 12.433333 \n",
1203 | "27 15.300000 15.100000 15.466667 15.600000 13.100000 17.766667 \n",
1204 | "28 14.071429 12.782609 16.909091 14.370370 12.695652 19.680000 \n",
1205 | "29 23.225806 25.774194 22.931034 23.645161 29.241379 28.500000 \n",
1206 | ".. ... ... ... ... ... ... \n",
1207 | "799 16.129032 14.933333 16.300000 16.064516 15.733333 17.161290 \n",
1208 | "800 15.708333 15.772727 12.760000 11.884615 17.333333 20.137931 \n",
1209 | "801 10.481481 11.259259 8.185185 10.428571 8.866667 9.692308 \n",
1210 | "802 37.961538 38.814815 35.392857 34.370370 34.222222 39.074074 \n",
1211 | "803 5.600000 5.428571 4.173913 6.125000 5.434783 3.500000 \n",
1212 | "804 8.642857 6.740741 7.933333 5.642857 6.961538 8.034483 \n",
1213 | "805 35.750000 33.391304 34.538462 37.346154 37.384615 46.185185 \n",
1214 | "806 12.285714 12.800000 12.740741 13.689655 11.384615 11.666667 \n",
1215 | "807 11.238095 11.550000 10.400000 10.000000 9.631579 13.181818 \n",
1216 | "808 9.935484 7.290323 11.666667 13.064516 10.900000 11.193548 \n",
1217 | "809 37.038462 23.040000 23.846154 25.192308 38.000000 46.592593 \n",
1218 | "810 19.666667 15.461538 15.384615 19.000000 12.960000 19.074074 \n",
1219 | "811 7.259259 4.750000 7.739130 9.000000 5.590909 7.130435 \n",
1220 | "812 7.258065 9.666667 9.928571 13.068966 11.000000 13.200000 \n",
1221 | "813 25.161290 12.290323 13.655172 15.000000 12.000000 0.000000 \n",
1222 | "814 24.538462 23.423077 23.076923 22.555556 18.720000 23.666667 \n",
1223 | "815 19.709677 18.344828 16.068966 15.677419 16.392857 27.290323 \n",
1224 | "816 29.172414 24.034483 28.000000 22.730769 24.428571 34.607143 \n",
1225 | "817 33.366667 38.096774 38.551724 36.115385 28.423077 53.000000 \n",
1226 | "818 6.111111 4.437500 5.761905 7.466667 5.230769 6.300000 \n",
1227 | "819 34.153846 26.173913 33.956522 31.840000 31.166667 39.086957 \n",
1228 | "820 13.321429 9.678571 10.964286 18.466667 18.766667 25.774194 \n",
1229 | "821 2.117647 1.166667 1.333333 0.000000 3.210526 4.592593 \n",
1230 | "822 21.580645 25.516129 26.900000 30.000000 26.400000 39.064516 \n",
1231 | "823 30.772727 24.000000 25.909091 41.736842 26.500000 26.350000 \n",
1232 | "824 13.586207 13.750000 13.423077 12.433333 11.333333 17.344828 \n",
1233 | "825 29.193548 26.233333 27.666667 23.838710 22.633333 29.640000 \n",
1234 | "826 13.296296 10.772727 12.384615 10.333333 11.120000 8.720000 \n",
1235 | "827 20.884615 18.090909 19.200000 18.560000 21.440000 20.880000 \n",
1236 | "828 5.076923 5.440000 4.857143 4.888889 5.827586 5.206897 \n",
1237 | "\n",
1238 | "[829 rows x 11 columns]"
1239 | ]
1240 | },
1241 | "execution_count": 14,
1242 | "metadata": {},
1243 | "output_type": "execute_result"
1244 | }
1245 | ],
1246 | "source": [
1247 | "df"
1248 | ]
1249 | },
1250 | {
1251 | "cell_type": "code",
1252 | "execution_count": null,
1253 | "metadata": {
1254 | "collapsed": true
1255 | },
1256 | "outputs": [],
1257 | "source": []
1258 | }
1259 | ],
1260 | "metadata": {
1261 | "kernelspec": {
1262 | "display_name": "Python 2",
1263 | "language": "python",
1264 | "name": "python2"
1265 | },
1266 | "language_info": {
1267 | "codemirror_mode": {
1268 | "name": "ipython",
1269 | "version": 2
1270 | },
1271 | "file_extension": ".py",
1272 | "mimetype": "text/x-python",
1273 | "name": "python",
1274 | "nbconvert_exporter": "python",
1275 | "pygments_lexer": "ipython2",
1276 | "version": "2.7.13"
1277 | }
1278 | },
1279 | "nbformat": 4,
1280 | "nbformat_minor": 2
1281 | }
1282 |
--------------------------------------------------------------------------------
/Feature_Genrate_from_keral.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 15,
6 | "metadata": {},
7 | "outputs": [],
8 | "source": [
9 | "# LIBRARIES IMPORT ------------------------------------------------\n",
10 | "import pandas as pd\n",
11 | "import numpy as np\n",
12 | "import datetime\n",
13 | "from sklearn import preprocessing\n",
14 | "from sklearn.metrics import mean_squared_error\n",
15 | "from sklearn.model_selection import train_test_split\n",
16 | "from keras.models import Model\n",
17 | "#from keras.layers import Input, Dense, LSTM, TimeDistributed, CuDNNLSTM\n",
18 | "from keras.optimizers import SGD\n",
19 | "from keras.callbacks import EarlyStopping, ModelCheckpoint\n",
20 | "from keras import backend as K\n",
21 | "\n",
22 | "air_reserve = pd.read_csv('air_reserve.csv')\n",
23 | "air_store_info = pd.read_csv('air_store_info.csv')\n",
24 | "air_visit_data = pd.read_csv('air_visit_data.csv')\n",
25 | "hpg_reserve = pd.read_csv('hpg_reserve.csv')\n",
26 | "hpg_store_info = pd.read_csv('hpg_store_info.csv')\n",
27 | "store_id_relation = pd.read_csv('store_id_relation.csv')\n",
28 | "date_info = pd.read_csv('date_info.csv')\n",
29 | "sample_sub = pd.read_csv('sample_submission.csv')\n",
30 | "\n"
31 | ]
32 | },
33 | {
34 | "cell_type": "code",
35 | "execution_count": 16,
36 | "metadata": {},
37 | "outputs": [],
38 | "source": [
39 | "# DATA PREPARATION =====================================================\n",
40 | "# TEST DATA ------------------------------------------------------------\n",
41 | "air_test = sample_sub.copy()\n",
42 | "air_test['air_store_id'] = air_test['id'].apply(lambda x: str(x)[:-11])\n",
43 | "air_test['visit_date'] = air_test['id'].apply(lambda x: str(x)[-10:])\n",
44 | "\n"
45 | ]
46 | },
47 | {
48 | "cell_type": "code",
49 | "execution_count": 17,
50 | "metadata": {},
51 | "outputs": [],
52 | "source": [
53 | "# dataframe for predictions\n",
54 | "submission_LSTM = air_test.copy()\n",
55 | "\n",
56 | "# test set for merger with train set\n",
57 | "air_test = air_test.drop(['id', 'visitors'], axis = 1)\n",
58 | "\n"
59 | ]
60 | },
61 | {
62 | "cell_type": "code",
63 | "execution_count": 18,
64 | "metadata": {},
65 | "outputs": [],
66 | "source": [
67 | "# DATA ON RESERVATION --------------------------------------------------\n",
68 | "# combine air and hpg databases\n",
69 | "hpg_air_reserve = store_id_relation.join(hpg_reserve.set_index('hpg_store_id'), on = 'hpg_store_id')\n",
70 | "air_reserve_tmp = air_reserve.copy()\n",
71 | "hpg_air_reserve = hpg_air_reserve.drop('hpg_store_id', axis = 1)\n",
72 | "reserve = pd.concat([air_reserve_tmp, hpg_air_reserve])\n",
73 | "\n"
74 | ]
75 | },
76 | {
77 | "cell_type": "code",
78 | "execution_count": 19,
79 | "metadata": {},
80 | "outputs": [],
81 | "source": [
82 | "# convert columns of \"reserve\" table into datetime format\n",
83 | "reserve['visit_datetime'] = pd.to_datetime(reserve['visit_datetime'])\n",
84 | "reserve['reserve_datetime'] = pd.to_datetime(reserve['reserve_datetime'])\n",
85 | "\n",
86 | "# create column for visit date inside \"reserve\" table\n",
87 | "reserve['visit_date'] = reserve['visit_datetime'].apply(lambda x: str(x)[0:10])\n",
88 | "\n",
89 | "# calculate the gap between visit time and reservation time inside \"reserve\" table\n",
90 | "reserve['hour_gap'] = reserve['visit_datetime'].sub(reserve['reserve_datetime'])\n",
91 | "reserve['hour_gap'] = reserve['hour_gap'].apply(lambda x: x/np.timedelta64(1,'h'))\n",
92 | "\n"
93 | ]
94 | },
95 | {
96 | "cell_type": "code",
97 | "execution_count": 20,
98 | "metadata": {},
99 | "outputs": [],
100 | "source": [
101 | "# separate reservation into 5 categories based on gap lenght\n",
102 | "reserve['reserve_-12_h'] = np.where(reserve['hour_gap'] <= 12,\n",
103 | " reserve['reserve_visitors'], 0)\n",
104 | "reserve['reserve_12_37_h'] = np.where((reserve['hour_gap'] <= 37) & (reserve['hour_gap'] > 12),\n",
105 | " reserve['reserve_visitors'], 0)\n",
106 | "reserve['reserve_37_59_h'] = np.where((reserve['hour_gap'] <= 59) & (reserve['hour_gap'] > 37),\n",
107 | " reserve['reserve_visitors'], 0)\n",
108 | "reserve['reserve_59_85_h'] = np.where((reserve['hour_gap'] <= 85) & (reserve['hour_gap'] > 59),\n",
109 | " reserve['reserve_visitors'], 0)\n",
110 | "reserve['reserve_85+_h'] = np.where((reserve['hour_gap'] > 85),\n",
111 | " reserve['reserve_visitors'], 0)\n",
112 | "\n"
113 | ]
114 | },
115 | {
116 | "cell_type": "code",
117 | "execution_count": 21,
118 | "metadata": {},
119 | "outputs": [],
120 | "source": [
121 | "# group by air_store_id and visit_date to enable joining with main table\n",
122 | "group_list = ['air_store_id', 'visit_date', 'reserve_visitors', 'reserve_-12_h',\n",
123 | " 'reserve_12_37_h', 'reserve_37_59_h', 'reserve_59_85_h', 'reserve_85+_h']\n",
124 | "reserve = reserve[group_list].groupby(['air_store_id', 'visit_date'], as_index = False).sum()\n",
125 | "\n",
126 | "for i in group_list[2:]:\n",
127 | " reserve[i] = reserve[i].apply(lambda x: np.log1p(x))\n",
128 | "\n",
129 | "# GENRE DATA ----------------------------------------------------------\n",
130 | "# total amount of restaurants of specific genres by area_name\n",
131 | "air_genres_area = air_store_info.copy()\n",
132 | "air_genres_area = air_genres_area[['air_store_id', 'air_genre_name', 'air_area_name']].groupby(['air_genre_name', 'air_area_name'],\n",
133 | " as_index = False).count()\n",
134 | "air_genres_area = air_genres_area.rename(columns = {'air_store_id': 'genre_in_area'})\n",
135 | "\n",
136 | "# total amount of restaurants in area\n",
137 | "air_area = air_store_info.copy()\n",
138 | "air_area = air_area[['air_store_id', 'air_area_name']].groupby(['air_area_name'], as_index = False).count()\n",
139 | "air_area = air_area.rename(columns = {'air_store_id': 'total_r_in_area'})\n",
140 | "\n"
141 | ]
142 | },
143 | {
144 | "cell_type": "code",
145 | "execution_count": 22,
146 | "metadata": {},
147 | "outputs": [
148 | {
149 | "name": "stderr",
150 | "output_type": "stream",
151 | "text": [
152 | "/Users/ankitgupta/anaconda/lib/python2.7/site-packages/pandas/core/indexing.py:179: SettingWithCopyWarning: \n",
153 | "A value is trying to be set on a copy of a slice from a DataFrame\n",
154 | "\n",
155 | "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
156 | " self._setitem_with_indexer(indexer, value)\n"
157 | ]
158 | }
159 | ],
160 | "source": [
161 | "# WEEKEND AND HOLIDAYS ------------------------------------------------\n",
162 | "# additional features for weekends and holidays\n",
163 | "date_info_mod = date_info.copy()\n",
164 | "date_info_mod['holiday_eve'] = np.zeros(date_info_mod.shape[0])\n",
165 | "date_info_mod['holiday_eve'].iloc[:-1] = date_info_mod['holiday_flg'].copy().values[1:]\n",
166 | "date_info_mod['non_working'] = np.where(date_info_mod['day_of_week'].isin(['Saturday', 'Sunday']) |\n",
167 | " date_info_mod['holiday_flg'] == 1, 1, 0)\n",
168 | "date_info_mod = date_info_mod.drop('holiday_flg', axis = 1)\n",
169 | "\n"
170 | ]
171 | },
172 | {
173 | "cell_type": "code",
174 | "execution_count": 23,
175 | "metadata": {},
176 | "outputs": [],
177 | "source": [
178 | "# average visitors per restaurant by working and non-working days\n",
179 | "air_visit_wd = air_visit_data.join(date_info_mod.set_index('calendar_date'), on = 'visit_date')\n",
180 | "air_visit_wd['visitors'] = air_visit_wd['visitors'].apply(lambda x: np.log1p(x)) \n",
181 | "\n",
182 | "# average visitors per restaurant\n",
183 | "mean_df = air_visit_wd[['visitors',\n",
184 | " 'air_store_id',\n",
185 | " 'non_working']].copy().groupby(['air_store_id',\n",
186 | " 'non_working'],\n",
187 | " as_index = False).mean()\n",
188 | "mean_df = mean_df.rename(columns = {'visitors': 'visitors_mean'})\n",
189 | "\n",
190 | "\n",
191 | "# median visitors per restaurant\n",
192 | "median_df = air_visit_wd[['visitors',\n",
193 | " 'air_store_id',\n",
194 | " 'non_working']].copy().groupby(['air_store_id',\n",
195 | " 'non_working'],\n",
196 | " as_index = False).median()\n",
197 | "median_df = median_df.rename(columns = {'visitors': 'visitors_median'})\n",
198 | "\n",
199 | "# max visitors per restaurant\n",
200 | "max_df = air_visit_wd[['visitors',\n",
201 | " 'air_store_id',\n",
202 | " 'non_working']].copy().groupby(['air_store_id',\n",
203 | " 'non_working'],\n",
204 | " as_index = False).max()\n",
205 | "max_df = max_df.rename(columns = {'visitors': 'visitors_max'})\n",
206 | "\n",
207 | "# min visitors per restaurant\n",
208 | "min_df = air_visit_wd[['visitors',\n",
209 | " 'air_store_id',\n",
210 | " 'non_working']].copy().groupby(['air_store_id',\n",
211 | " 'non_working'],\n",
212 | " as_index = False).min()\n",
213 | "min_df = min_df.rename(columns = {'visitors': 'visitors_min'})"
214 | ]
215 | },
216 | {
217 | "cell_type": "code",
218 | "execution_count": 24,
219 | "metadata": {
220 | "collapsed": true
221 | },
222 | "outputs": [],
223 | "source": [
224 | "def merge_join(df):\n",
225 | " # add month of visit\n",
226 | " df['month'] = df['visit_date'].apply(lambda x: float(str(x)[5:7]))\n",
227 | "\n",
228 | " # add weekday and holiday flag\n",
229 | " df = df.join(date_info_mod.set_index('calendar_date'), on = 'visit_date')\n",
230 | " # add genre and area name)\n",
231 | " df = df.join(air_store_info.set_index('air_store_id'), on = 'air_store_id')\n",
232 | " # add quantity of same genre in area\n",
233 | " df = pd.merge(df, air_genres_area, how = 'left',\n",
234 | " left_on = ['air_genre_name', 'air_area_name'],\n",
235 | " right_on = ['air_genre_name', 'air_area_name'])\n",
236 | " # add total quatity of restaurants in area\n",
237 | " df = pd.merge(df, air_area, how = 'left',\n",
238 | " left_on = ['air_area_name'],\n",
239 | " right_on = ['air_area_name'])\n",
240 | " # add reservation information\n",
241 | " df = pd.merge(df, reserve, how = 'left',\n",
242 | " left_on = ['air_store_id', 'visit_date'],\n",
243 | " right_on = ['air_store_id', 'visit_date'])\n",
244 | " # add visitors number mean, median, max and min per each restaurant\n",
245 | " df = pd.merge(df, mean_df, how = 'left',\n",
246 | " left_on = ['air_store_id', 'non_working'],\n",
247 | " right_on = ['air_store_id', 'non_working'])\n",
248 | " df = pd.merge(df, median_df, how = 'left',\n",
249 | " left_on = ['air_store_id', 'non_working'],\n",
250 | " right_on = ['air_store_id', 'non_working'])\n",
251 | " df = pd.merge(df, max_df, how = 'left',\n",
252 | " left_on = ['air_store_id', 'non_working'],\n",
253 | " right_on = ['air_store_id', 'non_working'])\n",
254 | " df = pd.merge(df, min_df, how = 'left',\n",
255 | " left_on = ['air_store_id', 'non_working'],\n",
256 | " right_on = ['air_store_id', 'non_working'])\n",
257 | " # change NaN to 0\n",
258 | " df = df.fillna(0) \n",
259 | " return df\n",
260 | "\n"
261 | ]
262 | },
263 | {
264 | "cell_type": "code",
265 | "execution_count": 25,
266 | "metadata": {
267 | "collapsed": true
268 | },
269 | "outputs": [],
270 | "source": [
271 | "# combine train/test data with additional information\n",
272 | "air_train = air_visit_data.copy()\n",
273 | "X = merge_join(air_train)\n",
274 | "X_test = merge_join(air_test)"
275 | ]
276 | },
277 | {
278 | "cell_type": "code",
279 | "execution_count": 28,
280 | "metadata": {},
281 | "outputs": [],
282 | "source": [
283 | "X['id'] = X['air_store_id'] + str('_') + X['visit_date']"
284 | ]
285 | },
286 | {
287 | "cell_type": "code",
288 | "execution_count": 31,
289 | "metadata": {},
290 | "outputs": [],
291 | "source": [
292 | "X_test['id'] = X_test['air_store_id'] + str('_') + X_test['visit_date']"
293 | ]
294 | },
295 | {
296 | "cell_type": "code",
297 | "execution_count": 32,
298 | "metadata": {},
299 | "outputs": [
300 | {
301 | "data": {
302 | "text/plain": [
303 | "Index([u'air_store_id', u'visit_date', u'visitors', u'month', u'day_of_week',\n",
304 | " u'holiday_eve', u'non_working', u'air_genre_name', u'air_area_name',\n",
305 | " u'latitude', u'longitude', u'genre_in_area', u'total_r_in_area',\n",
306 | " u'reserve_visitors', u'reserve_-12_h', u'reserve_12_37_h',\n",
307 | " u'reserve_37_59_h', u'reserve_59_85_h', u'reserve_85+_h',\n",
308 | " u'visitors_mean', u'visitors_median', u'visitors_max', u'visitors_min',\n",
309 | " u'id'],\n",
310 | " dtype='object')"
311 | ]
312 | },
313 | "execution_count": 32,
314 | "metadata": {},
315 | "output_type": "execute_result"
316 | }
317 | ],
318 | "source": [
319 | "X.columns"
320 | ]
321 | },
322 | {
323 | "cell_type": "code",
324 | "execution_count": 33,
325 | "metadata": {
326 | "collapsed": true
327 | },
328 | "outputs": [],
329 | "source": [
330 | "k = ['air_store_id', u'visit_date', u'visitors', u'month', u'day_of_week',u'air_genre_name', u'air_area_name',\n",
331 | " u'latitude', u'longitude']"
332 | ]
333 | },
334 | {
335 | "cell_type": "code",
336 | "execution_count": 35,
337 | "metadata": {},
338 | "outputs": [],
339 | "source": [
340 | "X = X.drop(k,axis=1)"
341 | ]
342 | },
343 | {
344 | "cell_type": "code",
345 | "execution_count": 38,
346 | "metadata": {
347 | "collapsed": true
348 | },
349 | "outputs": [],
350 | "source": [
351 | "k = ['air_store_id', u'visit_date', u'month', u'day_of_week',u'air_genre_name', u'air_area_name',\n",
352 | " u'latitude', u'longitude']"
353 | ]
354 | },
355 | {
356 | "cell_type": "code",
357 | "execution_count": 39,
358 | "metadata": {},
359 | "outputs": [],
360 | "source": [
361 | "X_test = X_test.drop(k,axis=1)"
362 | ]
363 | },
364 | {
365 | "cell_type": "code",
366 | "execution_count": 40,
367 | "metadata": {
368 | "collapsed": true
369 | },
370 | "outputs": [],
371 | "source": [
372 | "X.to_csv('new_train.csv',index = False)\n",
373 | "X_test.to_csv('new_test.csv',index = False)"
374 | ]
375 | },
376 | {
377 | "cell_type": "code",
378 | "execution_count": null,
379 | "metadata": {
380 | "collapsed": true
381 | },
382 | "outputs": [],
383 | "source": []
384 | }
385 | ],
386 | "metadata": {
387 | "kernelspec": {
388 | "display_name": "Python 2",
389 | "language": "python",
390 | "name": "python2"
391 | },
392 | "language_info": {
393 | "codemirror_mode": {
394 | "name": "ipython",
395 | "version": 2
396 | },
397 | "file_extension": ".py",
398 | "mimetype": "text/x-python",
399 | "name": "python",
400 | "nbconvert_exporter": "python",
401 | "pygments_lexer": "ipython2",
402 | "version": "2.7.13"
403 | }
404 | },
405 | "nbformat": 4,
406 | "nbformat_minor": 2
407 | }
408 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Recruit-Restaurant-Visitor-Forecasting
2 |
3 | #6th Rank code
4 |
5 | #Link: https://www.kaggle.com/c/recruit-restaurant-visitor-forecasting/leaderboard
6 |
7 |
8 | #Team Name: Team Yunfeng and Ankit
9 |
10 |
--------------------------------------------------------------------------------
/Ready_to_use_Weather.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {},
7 | "outputs": [
8 | {
9 | "name": "stdout",
10 | "output_type": "stream",
11 | "text": [
12 | "\u001b[34m1-1-16_5-31-17_Weather\u001b[m\u001b[m/\r\n",
13 | "Untitled.ipynb\r\n",
14 | "air_store_info_with_nearest_active_station.csv\r\n",
15 | "weather_ready_to_use.csv\r\n",
16 | "weather_stations.csv\r\n"
17 | ]
18 | }
19 | ],
20 | "source": [
21 | "ls"
22 | ]
23 | },
24 | {
25 | "cell_type": "code",
26 | "execution_count": 2,
27 | "metadata": {
28 | "collapsed": true
29 | },
30 | "outputs": [],
31 | "source": [
32 | "import pandas as pd"
33 | ]
34 | },
35 | {
36 | "cell_type": "code",
37 | "execution_count": 3,
38 | "metadata": {
39 | "collapsed": true
40 | },
41 | "outputs": [],
42 | "source": [
43 | "import numpy as np"
44 | ]
45 | },
46 | {
47 | "cell_type": "code",
48 | "execution_count": 4,
49 | "metadata": {
50 | "collapsed": true
51 | },
52 | "outputs": [],
53 | "source": [
54 | "air = pd.read_csv('air_store_info_with_nearest_active_station.csv')"
55 | ]
56 | },
57 | {
58 | "cell_type": "code",
59 | "execution_count": 5,
60 | "metadata": {
61 | "collapsed": true
62 | },
63 | "outputs": [],
64 | "source": [
65 | "air_info = pd.read_csv('../air_store_info.csv')"
66 | ]
67 | },
68 | {
69 | "cell_type": "code",
70 | "execution_count": 6,
71 | "metadata": {
72 | "collapsed": true
73 | },
74 | "outputs": [],
75 | "source": [
76 | "dict1 = air.set_index('air_store_id')['station_id'].to_dict()"
77 | ]
78 | },
79 | {
80 | "cell_type": "code",
81 | "execution_count": 7,
82 | "metadata": {},
83 | "outputs": [
84 | {
85 | "name": "stdout",
86 | "output_type": "stream",
87 | "text": [
88 | "air_0f0cdeee6c9bf3d7 hyogo__kobe-kana__koube.csv\n",
89 | "air_7cc17a324ae5c7dc hyogo__kobe-kana__koube.csv\n",
90 | "air_fee8dcf4d619598e hyogo__kobe-kana__koube.csv\n",
91 | "air_a17f0778617c76e2 hyogo__kobe-kana__koube.csv\n",
92 | "air_83db5aff8f50478e tokyo__tokyo-kana__tonokyo.csv\n",
93 | "air_99c3eae84130c1cb tokyo__tokyo-kana__tonokyo.csv\n",
94 | "air_f183a514cb8ff4fa tokyo__tokyo-kana__tonokyo.csv\n",
95 | "air_6b9fa44a9cf504a1 tokyo__tokyo-kana__tonokyo.csv\n",
96 | "air_0919d54f0c9a24b8 tokyo__tokyo-kana__tonokyo.csv\n",
97 | "air_2c6c79d597e48096 tokyo__tokyo-kana__tonokyo.csv\n",
98 | "air_0164b9927d20bcc3 tokyo__tokyo-kana__tonokyo.csv\n",
99 | "air_681f96e6a6595f82 tokyo__tokyo-kana__tonokyo.csv\n",
100 | "air_ef920fa6f4b085f6 tokyo__tokyo-kana__tonokyo.csv\n",
101 | "air_d3e7b5952cd09ccb tokyo__tokyo-kana__tonokyo.csv\n",
102 | "air_e64de0a6bf0739af tokyo__tokyo-kana__tonokyo.csv\n",
103 | "air_4ce7b17062a1bf73 tokyo__tokyo-kana__tonokyo.csv\n",
104 | "air_290e7a57b390f78e tokyo__tokyo-kana__tonokyo.csv\n",
105 | "air_4579cb0669fd411b fukuoka__fukuoka-kana__fukuoka.csv\n",
106 | "air_63a750d8b4b6a976 fukuoka__fukuoka-kana__fukuoka.csv\n",
107 | "air_9438d67241c81314 fukuoka__fukuoka-kana__fukuoka.csv\n",
108 | "air_929d8513e3cdb423 fukuoka__fukuoka-kana__fukuoka.csv\n",
109 | "air_6c1128955c58b690 fukuoka__fukuoka-kana__fukuoka.csv\n",
110 | "air_638c35eb25e53eea fukuoka__fukuoka-kana__fukuoka.csv\n",
111 | "air_a7404a854919e990 fukuoka__fukuoka-kana__fukuoka.csv\n",
112 | "air_f6cdaf7b7fdc6d78 fukuoka__fukuoka-kana__fukuoka.csv\n",
113 | "air_df9355c47c5df9d3 fukuoka__fukuoka-kana__fukuoka.csv\n",
114 | "air_bf617aa68d5f1cfa tokyo__setagaya-kana__setagaya.csv\n",
115 | "air_a218912784bf767d tokyo__setagaya-kana__setagaya.csv\n",
116 | "air_506fe758114df773 tokyo__setagaya-kana__setagaya.csv\n",
117 | "air_0b9038300f8b2b50 tokyo__setagaya-kana__setagaya.csv\n",
118 | "air_3440e0ea1b70a99b osaka__osaka-kana__osaka.csv\n",
119 | "air_722297e7f26db91d osaka__osaka-kana__osaka.csv\n",
120 | "air_fcfbdcf7b1f82c6e tokyo__tokyo-kana__tonokyo.csv\n",
121 | "air_f8233ad00755c35c tokyo__tokyo-kana__tonokyo.csv\n",
122 | "air_d186b2cb0b9ce022 tokyo__tokyo-kana__tonokyo.csv\n",
123 | "air_e76a668009c5dabc tokyo__tokyo-kana__tonokyo.csv\n",
124 | "air_7fbf7649eb13ad9b tokyo__tokyo-kana__tonokyo.csv\n",
125 | "air_b439391e72899756 tokyo__tokyo-kana__tonokyo.csv\n",
126 | "air_681b0c56328dd2af tokyo__tokyo-kana__tonokyo.csv\n",
127 | "air_938ef91ecdde6878 tokyo__tokyo-kana__tonokyo.csv\n",
128 | "air_f911308e19d64236 tokyo__tokyo-kana__tonokyo.csv\n",
129 | "air_650f9b9de0c5542c tokyo__nerima-kana__nerima.csv\n",
130 | "air_632ba66e1f75aa28 tokyo__nerima-kana__nerima.csv\n",
131 | "air_8e492076a1179383 hiroshima__hiroshima-kana__hiroshima.csv\n",
132 | "air_0867f7bebad6a649 hiroshima__hiroshima-kana__hiroshima.csv\n",
133 | "air_9d93d95720f2e831 tokyo__tokyo-kana__tonokyo.csv\n",
134 | "air_900d755ebd2f7bbd tokyo__tokyo-kana__tonokyo.csv\n",
135 | "air_dfe068a1bf85f395 tokyo__tokyo-kana__tonokyo.csv\n",
136 | "air_ea7c16131980c837 tokyo__tokyo-kana__tonokyo.csv\n",
137 | "air_97b2a9f975fc702c tokyo__tokyo-kana__tonokyo.csv\n",
138 | "air_ccd19a5bc5573ae5 tokyo__tokyo-kana__tonokyo.csv\n",
139 | "air_40953e2d8b4f2857 tokyo__tokyo-kana__tonokyo.csv\n",
140 | "air_c0385db498b391e5 tokyo__tokyo-kana__tonokyo.csv\n",
141 | "air_082908692355165e tokyo__tokyo-kana__tonokyo.csv\n",
142 | "air_6cbe54f0aa30b615 tokyo__tokyo-kana__tonokyo.csv\n",
143 | "air_2a7f14da7fe0f699 tokyo__setagaya-kana__setagaya.csv\n",
144 | "air_31c753b48a657b6c tokyo__setagaya-kana__setagaya.csv\n",
145 | "air_483eba479dc9910d tokyo__setagaya-kana__setagaya.csv\n",
146 | "air_9cd5e310f488bced tokyo__setagaya-kana__setagaya.csv\n",
147 | "air_d00a15343325e5f7 osaka__toyonaka-kana__toyonaka.csv\n",
148 | "air_228f10bec0bda9c8 osaka__toyonaka-kana__toyonaka.csv\n",
149 | "air_6b2268863b14a2af saitama__tokorozawa-kana__tokorozawa.csv\n",
150 | "air_8f13ef0f5e8c64dd saitama__tokorozawa-kana__tokorozawa.csv\n",
151 | "air_48f4da6223571da4 saitama__tokorozawa-kana__tokorozawa.csv\n",
152 | "air_9d452a881f7f2bb7 fukuoka__hakata-kana__hakata.csv\n",
153 | "air_55c3627912b9c849 fukuoka__hakata-kana__hakata.csv\n",
154 | "air_6b15edd1b4fbb96a shizuoka__hamamatsu-kana__hamamatsu.csv\n",
155 | "air_6d65542aa43b598b shizuoka__hamamatsu-kana__hamamatsu.csv\n",
156 | "air_2c6fef1ce0e13a5a hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
157 | "air_ca957d3a1529fbd3 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
158 | "air_d6b3e67261f07646 tokyo__tokyo-kana__tonokyo.csv\n",
159 | "air_968d72c12eed09f0 tokyo__tokyo-kana__tonokyo.csv\n",
160 | "air_ecf7f141339f1d57 tokyo__tokyo-kana__tonokyo.csv\n",
161 | "air_56cd12f31a0afc04 tokyo__tokyo-kana__tonokyo.csv\n",
162 | "air_73f316e6a18d8aa9 tokyo__tokyo-kana__tonokyo.csv\n",
163 | "air_310e467e6e625004 tokyo__tokyo-kana__tonokyo.csv\n",
164 | "air_3b20733899b5287f tokyo__tokyo-kana__tonokyo.csv\n",
165 | "air_d63cfa6d6ab78446 tokyo__tokyo-kana__tonokyo.csv\n",
166 | "air_e3020992d5fe5dfd tokyo__tokyo-kana__tonokyo.csv\n",
167 | "air_9152d9926e5c4a3a tokyo__tokyo-kana__tonokyo.csv\n",
168 | "air_1509881b22965b34 tokyo__tokyo-kana__tonokyo.csv\n",
169 | "air_08ef81d5b7a0d13f tokyo__tokyo-kana__tonokyo.csv\n",
170 | "air_42c9aa6d617c5057 hyogo__akashi-kana__akashi.csv\n",
171 | "air_645cb18b33f938cf hyogo__akashi-kana__akashi.csv\n",
172 | "air_831658500aa7c846 tokyo__tokyo-kana__tonokyo.csv\n",
173 | "air_a49f1cf0634f13e5 tokyo__tokyo-kana__tonokyo.csv\n",
174 | "air_c88467d88b2c8ecd tokyo__tokyo-kana__tonokyo.csv\n",
175 | "air_00a91d42b08b08d9 tokyo__tokyo-kana__tonokyo.csv\n",
176 | "air_d1f20424f76cc78e osaka__osaka-kana__osaka.csv\n",
177 | "air_32f5d7cd696e3c4a osaka__osaka-kana__osaka.csv\n",
178 | "air_40f6193ea3ed1b91 osaka__osaka-kana__osaka.csv\n",
179 | "air_4092cfbd95a3ac1b osaka__osaka-kana__osaka.csv\n",
180 | "air_399904bdb7685ca0 osaka__osaka-kana__osaka.csv\n",
181 | "air_baf28ac9f13a307d osaka__osaka-kana__osaka.csv\n",
182 | "air_2a3743e37aab04b4 osaka__osaka-kana__osaka.csv\n",
183 | "air_3561fd1c0bce6a95 kanagawa__hiyoshi-kana__hiyoshi.csv\n",
184 | "air_4e1c38f68f435596 kanagawa__hiyoshi-kana__hiyoshi.csv\n",
185 | "air_d54d6fcb116fbed3 hyogo__nishinomiya-kana__nishinomiya.csv\n",
186 | "air_eb2d2653586315dd hyogo__nishinomiya-kana__nishinomiya.csv\n",
187 | "air_142e78ba7001da9c hyogo__nishinomiya-kana__nishinomiya.csv\n",
188 | "air_bfafaed35e213fd7 tokyo__setagaya-kana__setagaya.csv\n",
189 | "air_fa12b40b02fecfd8 tokyo__setagaya-kana__setagaya.csv\n",
190 | "air_fdc02ec4a3d21ea4 hyogo__kobe-kana__koube.csv\n",
191 | "air_35c4732dcbfe31be hyogo__kobe-kana__koube.csv\n",
192 | "air_3ac24136722e2291 hyogo__kobe-kana__koube.csv\n",
193 | "air_cbe139af83feb388 hyogo__kobe-kana__koube.csv\n",
194 | "air_9ae7081cb77dc51e tokyo__tokyo-kana__tonokyo.csv\n",
195 | "air_2e7cb1f1a2a9cd6a tokyo__tokyo-kana__tonokyo.csv\n",
196 | "air_64d4491ad8cdb1c6 tokyo__tokyo-kana__tonokyo.csv\n",
197 | "air_88c8e34baa79217b tokyo__tokyo-kana__tonokyo.csv\n",
198 | "air_6b7678aae65d2d59 tokyo__tokyo-kana__tonokyo.csv\n",
199 | "air_87467487d21891dd tokyo__tokyo-kana__tonokyo.csv\n",
200 | "air_ba937bf13d40fb24 tokyo__tokyo-kana__tonokyo.csv\n",
201 | "air_c5459218282bedd5 tokyo__tokyo-kana__tonokyo.csv\n",
202 | "air_fe22ef5a9cbef123 fukuoka__fukuoka-kana__fukuoka.csv\n",
203 | "air_901925b628677c2e fukuoka__fukuoka-kana__fukuoka.csv\n",
204 | "air_1e665503b8474c55 fukuoka__fukuoka-kana__fukuoka.csv\n",
205 | "air_25c583983246b7b0 fukuoka__fukuoka-kana__fukuoka.csv\n",
206 | "air_0585011fa179bcce fukuoka__fukuoka-kana__fukuoka.csv\n",
207 | "air_e01d99390355408d tokyo__setagaya-kana__setagaya.csv\n",
208 | "air_68147db09287bf74 tokyo__setagaya-kana__setagaya.csv\n",
209 | "air_383f5b2f8d345a49 tokyo__setagaya-kana__setagaya.csv\n",
210 | "air_7e12c5d27f44a8de tokyo__setagaya-kana__setagaya.csv\n",
211 | "air_7ef9a5ea5c8fe39f hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
212 | "air_8b4a46dc521bfcfe hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
213 | "air_db80363d35f10926 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
214 | "air_c6aa2efba0ffc8eb tokyo__tokyo-kana__tonokyo.csv\n",
215 | "air_6d64dba2edd4fc0c tokyo__tokyo-kana__tonokyo.csv\n",
216 | "air_9ca2767761efff4d osaka__osaka-kana__osaka.csv\n",
217 | "air_dea0655f96947922 osaka__osaka-kana__osaka.csv\n",
218 | "air_81c5dff692063446 osaka__osaka-kana__osaka.csv\n",
219 | "air_dc0e080ba0a5e5af osaka__osaka-kana__osaka.csv\n",
220 | "air_cf2229e64408d9fe osaka__osaka-kana__osaka.csv\n",
221 | "air_c6a164dd4060e960 osaka__osaka-kana__osaka.csv\n",
222 | "air_16c4cfddeb2cf69b osaka__osaka-kana__osaka.csv\n",
223 | "air_fcd4492c83f1c6b9 tokyo__tokyo-kana__tonokyo.csv\n",
224 | "air_d4d218b451f82c3d tokyo__tokyo-kana__tonokyo.csv\n",
225 | "air_707d4b6328f2c2df tokyo__tokyo-kana__tonokyo.csv\n",
226 | "air_e1b76fcb5208fb6b tokyo__tokyo-kana__tonokyo.csv\n",
227 | "air_9f277fb7a2c1d842 tokyo__tokyo-kana__tonokyo.csv\n",
228 | "air_465bddfed3353b23 tokyo__tokyo-kana__tonokyo.csv\n",
229 | "air_cd5f54969be9ed08 tokyo__tokyo-kana__tonokyo.csv\n",
230 | "air_ab3ae0e410b20069 tokyo__tokyo-kana__tonokyo.csv\n",
231 | "air_97958e7fce98b6a3 tokyo__tokyo-kana__tonokyo.csv\n",
232 | "air_bfda7731a6c6fc61 tokyo__nerima-kana__nerima.csv\n",
233 | "air_df507aec929ce5f6 tokyo__nerima-kana__nerima.csv\n",
234 | "air_e657ca554b0c008c hiroshima__hiroshima-kana__hiroshima.csv\n",
235 | "air_b4f32bcc399da2b9 hiroshima__hiroshima-kana__hiroshima.csv\n",
236 | "air_af03c277a167b2bd tokyo__tokyo-kana__tonokyo.csv\n",
237 | "air_43b65e4b05bff2d3 tokyo__tokyo-kana__tonokyo.csv\n",
238 | "air_256be208a979e023 tokyo__tokyo-kana__tonokyo.csv\n",
239 | "air_d00161e19f08290b tokyo__tokyo-kana__tonokyo.csv\n",
240 | "air_fd154088b1de6fa7 tokyo__tokyo-kana__tonokyo.csv\n",
241 | "air_15ae33469e9ea2dd tokyo__tokyo-kana__tonokyo.csv\n",
242 | "air_1e23210b584540e7 tokyo__tokyo-kana__tonokyo.csv\n",
243 | "air_fa4ffc9057812fa2 tokyo__tokyo-kana__tonokyo.csv\n",
244 | "air_a21ffca0bea1661a tokyo__tokyo-kana__tonokyo.csv\n"
245 | ]
246 | },
247 | {
248 | "name": "stdout",
249 | "output_type": "stream",
250 | "text": [
251 | "air_4481a87c1d7c9896 tokyo__setagaya-kana__setagaya.csv\n",
252 | "air_629edf21ea38ac2d tokyo__setagaya-kana__setagaya.csv\n",
253 | "air_b192fb5310436005 tokyo__setagaya-kana__setagaya.csv\n",
254 | "air_99b01136f451fc0e tokyo__setagaya-kana__setagaya.csv\n",
255 | "air_bed603c423b7d9d4 tokyo__setagaya-kana__setagaya.csv\n",
256 | "air_0768ab3910f7967f tokyo__setagaya-kana__setagaya.csv\n",
257 | "air_5b704df317ed1962 tokyo__setagaya-kana__setagaya.csv\n",
258 | "air_db4b38ebe7a7ceff osaka__osaka-kana__osaka.csv\n",
259 | "air_32460819c7600037 osaka__osaka-kana__osaka.csv\n",
260 | "air_86f7b2109e4abd65 osaka__osaka-kana__osaka.csv\n",
261 | "air_1979eaff8189d086 saitama__tokorozawa-kana__tokorozawa.csv\n",
262 | "air_0845d8395f30c6bb saitama__tokorozawa-kana__tokorozawa.csv\n",
263 | "air_473f98b212d37b4a saitama__tokorozawa-kana__tokorozawa.csv\n",
264 | "air_bebd55ed63ab2422 shizuoka__hamamatsu-kana__hamamatsu.csv\n",
265 | "air_20add8092c9bb51d shizuoka__hamamatsu-kana__hamamatsu.csv\n",
266 | "air_a24bf50c3e90d583 shizuoka__hamamatsu-kana__hamamatsu.csv\n",
267 | "air_9a6f6e7f623003d2 fukuoka__kurume-kana__kurume.csv\n",
268 | "air_87f9e1024b951f01 fukuoka__kurume-kana__kurume.csv\n",
269 | "air_f3602e4fa2f12993 fukuoka__kurume-kana__kurume.csv\n",
270 | "air_91beafbba9382b0a miyagi__sendai-kana__sendai.csv\n",
271 | "air_9efaa7ded03c5a71 miyagi__sendai-kana__sendai.csv\n",
272 | "air_375a5241615b5e22 miyagi__sendai-kana__sendai.csv\n",
273 | "air_ef789667e2e6fe96 kanagawa__sagamihara-central-kana__sagamiharasuki.csv\n",
274 | "air_234d3dbf7f3d5a50 kanagawa__sagamihara-central-kana__sagamiharasuki.csv\n",
275 | "air_f593fa60ac3541e2 kanagawa__sagamihara-central-kana__sagamiharasuki.csv\n",
276 | "air_57013002b912772b kanagawa__sagamihara-central-kana__sagamiharasuki.csv\n",
277 | "air_bb26d6d079594414 tokyo__tokyo-kana__tonokyo.csv\n",
278 | "air_15e6e15c7ea2c162 tokyo__tokyo-kana__tonokyo.csv\n",
279 | "air_35512c42db0868da tokyo__nerima-kana__nerima.csv\n",
280 | "air_88f31db64991768a tokyo__nerima-kana__nerima.csv\n",
281 | "air_5bd22f9cc1426a90 tokyo__tokyo-kana__tonokyo.csv\n",
282 | "air_7dacea2f22afccfb tokyo__tokyo-kana__tonokyo.csv\n",
283 | "air_caf996ac27206301 tokyo__nerima-kana__nerima.csv\n",
284 | "air_84060403939d8216 tokyo__nerima-kana__nerima.csv\n",
285 | "air_b23d0f519291247d yamaguchi__shimonoseki-kana__shimonoseki.csv\n",
286 | "air_ade6e836ffd1da64 yamaguchi__shimonoseki-kana__shimonoseki.csv\n",
287 | "air_09661c0f3259cc04 tokyo__tokyo-kana__tonokyo.csv\n",
288 | "air_10393f12e9069760 tokyo__tokyo-kana__tonokyo.csv\n",
289 | "air_eeeadee005c006a2 tokyo__haneda-kana__haneda.csv\n",
290 | "air_138ff410757b845f tokyo__haneda-kana__haneda.csv\n",
291 | "air_397d3f32a7196aa2 tokyo__haneda-kana__haneda.csv\n",
292 | "air_0328696196e46f18 osaka__osaka-kana__osaka.csv\n",
293 | "air_4cab15ad29c0ffbc osaka__osaka-kana__osaka.csv\n",
294 | "air_c3bc011cca3bec65 tokyo__tokyo-kana__tonokyo.csv\n",
295 | "air_396942e6423a2145 tokyo__tokyo-kana__tonokyo.csv\n",
296 | "air_bbe1c1a47e09f161 tokyo__setagaya-kana__setagaya.csv\n",
297 | "air_b5598d12d1b84890 tokyo__setagaya-kana__setagaya.csv\n",
298 | "air_36429b5ca4407b3e hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
299 | "air_32c61b620a766138 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
300 | "air_b2d8bc9c88b85f96 fukuoka__fukuoka-kana__fukuoka.csv\n",
301 | "air_4b380b4db9d37883 fukuoka__fukuoka-kana__fukuoka.csv\n",
302 | "air_3982a2c4ea2ed431 fukuoka__fukuoka-kana__fukuoka.csv\n",
303 | "air_6836438b543ba698 fukuoka__fukuoka-kana__fukuoka.csv\n",
304 | "air_627cabe2fe53f33f hyogo__kobe-kana__koube.csv\n",
305 | "air_c73d319ffabf287a hyogo__kobe-kana__koube.csv\n",
306 | "air_c2626f5f86d57342 fukuoka__fukuoka-kana__fukuoka.csv\n",
307 | "air_42d41eb58cad170e fukuoka__fukuoka-kana__fukuoka.csv\n",
308 | "air_f180301886c21375 fukuoka__fukuoka-kana__fukuoka.csv\n",
309 | "air_396166d47733d5c9 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
310 | "air_a9133955abccf071 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
311 | "air_2bffb19a24d11729 osaka__osaka-kana__osaka.csv\n",
312 | "air_b80fed1a07c817d2 osaka__osaka-kana__osaka.csv\n",
313 | "air_08f994758a1e76d4 tokyo__tokyo-kana__tonokyo.csv\n",
314 | "air_52e2a1fd42bc917a tokyo__tokyo-kana__tonokyo.csv\n",
315 | "air_2aab19554f91ff82 tokyo__tokyo-kana__tonokyo.csv\n",
316 | "air_8093d0b565e9dbdf tokyo__tokyo-kana__tonokyo.csv\n",
317 | "air_6c952e3c6e590945 miyagi__sendai-kana__sendai.csv\n",
318 | "air_cf5ab75a0afb8af9 miyagi__sendai-kana__sendai.csv\n",
319 | "air_98b54e32ccddd896 miyagi__sendai-kana__sendai.csv\n",
320 | "air_a546cbf478a8b6e4 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
321 | "air_dc71c6cc06cd1aa2 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
322 | "air_2fc478dc9f0a6b31 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
323 | "air_1653a6c513865af3 hokkaido_okhotsk__abashiri-kana__abashiri.csv\n",
324 | "air_dfad598ff642dab7 hokkaido_okhotsk__abashiri-kana__abashiri.csv\n",
325 | "air_5e70fe82f9e4fab6 osaka__osaka-kana__osaka.csv\n",
326 | "air_3f91d592acd6cc0b osaka__osaka-kana__osaka.csv\n",
327 | "air_c225148c0fcc5c72 hyogo__kobe-kana__koube.csv\n",
328 | "air_a33461f4392ec62c hyogo__kobe-kana__koube.csv\n",
329 | "air_55390f784018349a tokyo__tokyo-kana__tonokyo.csv\n",
330 | "air_6902e4ec305b3d08 tokyo__tokyo-kana__tonokyo.csv\n",
331 | "air_2f8ced25216df926 tokyo__tokyo-kana__tonokyo.csv\n",
332 | "air_c9ed65554b6edffb fukuoka__fukuoka-kana__fukuoka.csv\n",
333 | "air_9828505fefc77d75 fukuoka__fukuoka-kana__fukuoka.csv\n",
334 | "air_9bf0ccac497c4af3 fukuoka__fukuoka-kana__fukuoka.csv\n",
335 | "air_ac7a7427c9ae12a5 fukuoka__fukuoka-kana__fukuoka.csv\n",
336 | "air_6c91a28278a16f64 fukuoka__fukuoka-kana__fukuoka.csv\n",
337 | "air_c77ee2b7d36da265 fukuoka__fukuoka-kana__fukuoka.csv\n",
338 | "air_6e64fb5821402cd2 fukuoka__fukuoka-kana__fukuoka.csv\n",
339 | "air_ef47430bcd6f6a89 fukuoka__fukuoka-kana__fukuoka.csv\n",
340 | "air_602ca92c0db34f8f fukuoka__fukuoka-kana__fukuoka.csv\n",
341 | "air_e57dd6884595f60d fukuoka__fukuoka-kana__fukuoka.csv\n",
342 | "air_dbf64f1ce38c7442 fukuoka__fukuoka-kana__fukuoka.csv\n",
343 | "air_1dea9815ccd36620 fukuoka__fukuoka-kana__fukuoka.csv\n",
344 | "air_3aa839e8e0cb6c87 fukuoka__fukuoka-kana__fukuoka.csv\n",
345 | "air_38746ffe9aa20c7e fukuoka__fukuoka-kana__fukuoka.csv\n",
346 | "air_4b55d8aea1d2b395 fukuoka__fukuoka-kana__fukuoka.csv\n",
347 | "air_349278fa964bb12f fukuoka__fukuoka-kana__fukuoka.csv\n",
348 | "air_c31472d14e29cee8 fukuoka__fukuoka-kana__fukuoka.csv\n",
349 | "air_7bda6048a4a78837 fukuoka__fukuoka-kana__fukuoka.csv\n",
350 | "air_eb120e6d384a17a8 fukuoka__fukuoka-kana__fukuoka.csv\n",
351 | "air_eca5e0064dc9314a fukuoka__fukuoka-kana__fukuoka.csv\n",
352 | "air_ad13e71e21235131 fukuoka__fukuoka-kana__fukuoka.csv\n",
353 | "air_9e920b758503ef54 fukuoka__fukuoka-kana__fukuoka.csv\n",
354 | "air_27e991812b0d9c92 fukuoka__fukuoka-kana__fukuoka.csv\n",
355 | "air_0ead98dd07e7a82a fukuoka__fukuoka-kana__fukuoka.csv\n",
356 | "air_bf13014b6e3e60ca tokyo__setagaya-kana__setagaya.csv\n",
357 | "air_6108821ffafa9b72 tokyo__setagaya-kana__setagaya.csv\n",
358 | "air_3a8a3f8fb5cd7f88 tokyo__setagaya-kana__setagaya.csv\n",
359 | "air_91236b89d29567af tokyo__setagaya-kana__setagaya.csv\n",
360 | "air_859feab8e3c9f98d tokyo__setagaya-kana__setagaya.csv\n",
361 | "air_b7fa3d2fca744dd2 tokyo__setagaya-kana__setagaya.csv\n",
362 | "air_59cc9b2b209c6331 tokyo__setagaya-kana__setagaya.csv\n",
363 | "air_939964477035ef0b tokyo__setagaya-kana__setagaya.csv\n",
364 | "air_a9a380530c1e121f tokyo__setagaya-kana__setagaya.csv\n",
365 | "air_1d3f797dd1f7cf1c tokyo__setagaya-kana__setagaya.csv\n",
366 | "air_c28983412a7eefcf hyogo__kobe-kana__koube.csv\n",
367 | "air_9b13c7feb0a0c431 hyogo__kobe-kana__koube.csv\n",
368 | "air_168441ada3e878e1 hyogo__kobe-kana__koube.csv\n",
369 | "air_d0e8a085d8dc83aa hyogo__kobe-kana__koube.csv\n",
370 | "air_cadf9cfb510a1d78 tokyo__tokyo-kana__tonokyo.csv\n",
371 | "air_2195cd5025a98033 tokyo__tokyo-kana__tonokyo.csv\n",
372 | "air_832f9dbe9ee4ebd3 osaka__osaka-kana__osaka.csv\n",
373 | "air_401b39f97e56b939 osaka__osaka-kana__osaka.csv\n",
374 | "air_d4981cdde163b172 osaka__osaka-kana__osaka.csv\n",
375 | "air_aed3a8b49abe4a48 osaka__osaka-kana__osaka.csv\n",
376 | "air_8e4360a64dbd4c50 osaka__osaka-kana__osaka.csv\n",
377 | "air_9a30407764f4ff84 osaka__osaka-kana__osaka.csv\n",
378 | "air_5e34c6fe6fabd10e tokyo__setagaya-kana__setagaya.csv\n",
379 | "air_b5bdd318005d9aa4 tokyo__setagaya-kana__setagaya.csv\n",
380 | "air_710d6537cb7623df tokyo__tokyo-kana__tonokyo.csv\n",
381 | "air_5ed3198e4a5eed0f tokyo__tokyo-kana__tonokyo.csv\n",
382 | "air_c6ffd6a93e6b68d6 tokyo__tokyo-kana__tonokyo.csv\n",
383 | "air_ebd31e812960f517 tokyo__tokyo-kana__tonokyo.csv\n",
384 | "air_10713fbf3071c361 tokyo__tokyo-kana__tonokyo.csv\n",
385 | "air_7bc6ca04d7b0f3b8 tokyo__tokyo-kana__tonokyo.csv\n",
386 | "air_e34c631c766f2766 tokyo__tokyo-kana__tonokyo.csv\n",
387 | "air_af24e3e817dea1e5 tokyo__tokyo-kana__tonokyo.csv\n",
388 | "air_b30fffd7ab1e75a5 tokyo__tokyo-kana__tonokyo.csv\n",
389 | "air_a8533b7a992bb0ca tokyo__tokyo-kana__tonokyo.csv\n",
390 | "air_efd70b04de878f25 tokyo__tokyo-kana__tonokyo.csv\n",
391 | "air_e7d2ac6d53d1b744 tokyo__nerima-kana__nerima.csv\n",
392 | "air_8e8f42f047537154 tokyo__nerima-kana__nerima.csv\n",
393 | "air_657a0748462f85de tokyo__nerima-kana__nerima.csv\n",
394 | "air_9d3482b4680aee88 tokyo__nerima-kana__nerima.csv\n",
395 | "air_e0aee25b56a069f2 tokyo__nerima-kana__nerima.csv\n",
396 | "air_5d945ade487cdf4d tokyo__nerima-kana__nerima.csv\n",
397 | "air_848616680ef061bd tokyo__nerima-kana__nerima.csv\n",
398 | "air_97e0f2feec4d577a tokyo__nerima-kana__nerima.csv\n",
399 | "air_57ed725a1930a5b9 tokyo__tokyo-kana__tonokyo.csv\n",
400 | "air_8c119d1f16049f20 tokyo__tokyo-kana__tonokyo.csv\n",
401 | "air_2009041dbf9264de tokyo__tokyo-kana__tonokyo.csv\n"
402 | ]
403 | },
404 | {
405 | "name": "stdout",
406 | "output_type": "stream",
407 | "text": [
408 | "air_820d1919cbecaa0a tokyo__setagaya-kana__setagaya.csv\n",
409 | "air_9d5a980b211e1795 tokyo__setagaya-kana__setagaya.csv\n",
410 | "air_16179d43b6ee5fd8 tokyo__setagaya-kana__setagaya.csv\n",
411 | "air_93dd7070c9bf5453 tokyo__setagaya-kana__setagaya.csv\n",
412 | "air_cb083b4789a8d3a2 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
413 | "air_cf22e368c1a71d53 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
414 | "air_3525f11ef0bf0c35 osaka__osaka-kana__osaka.csv\n",
415 | "air_81c2600146d07d16 osaka__osaka-kana__osaka.csv\n",
416 | "air_add9a575623726c8 osaka__osaka-kana__osaka.csv\n",
417 | "air_89e7328af22efe74 shizuoka__hamamatsu-kana__hamamatsu.csv\n",
418 | "air_ee3a01f0c71a769f shizuoka__hamamatsu-kana__hamamatsu.csv\n",
419 | "air_a373500730e2a9e0 shizuoka__hamamatsu-kana__hamamatsu.csv\n",
420 | "air_41bbf6e1d9814c4b shizuoka__hamamatsu-kana__hamamatsu.csv\n",
421 | "air_5dea8a7a5bf5eb71 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
422 | "air_0e1eae99b8723bc1 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
423 | "air_a2567267116a3b75 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
424 | "air_b259b4e4a51a690d hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
425 | "air_71903025d39a4571 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
426 | "air_a2b29aa7feb4e36f hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
427 | "air_70f834596eb99fee tokyo__tokyo-kana__tonokyo.csv\n",
428 | "air_464a62de0d57be1e tokyo__tokyo-kana__tonokyo.csv\n",
429 | "air_56ea46c14b2dd967 tokyo__tokyo-kana__tonokyo.csv\n",
430 | "air_b162fb07fbbdea33 tokyo__tokyo-kana__tonokyo.csv\n",
431 | "air_747f375eb3900e1e tokyo__tokyo-kana__tonokyo.csv\n",
432 | "air_8ce035ee1d8a56a6 tokyo__tokyo-kana__tonokyo.csv\n",
433 | "air_cd4b301d5d3918d8 tokyo__tokyo-kana__tonokyo.csv\n",
434 | "air_a85f0c0c889f6b7e tokyo__tokyo-kana__tonokyo.csv\n",
435 | "air_9c6787aa03a45586 tokyo__tokyo-kana__tonokyo.csv\n",
436 | "air_303bac187b53083a fukuoka__fukuoka-kana__fukuoka.csv\n",
437 | "air_298513175efdf261 fukuoka__fukuoka-kana__fukuoka.csv\n",
438 | "air_96ec3cfe78cb0652 shizuoka__mishima-kana__mishima.csv\n",
439 | "air_99157b6163835eec shizuoka__mishima-kana__mishima.csv\n",
440 | "air_4043b7ccfbffa732 osaka__osaka-kana__osaka.csv\n",
441 | "air_9bbc673495e23532 osaka__osaka-kana__osaka.csv\n",
442 | "air_e483f5b3c4f310e0 fukuoka__fukuoka-kana__fukuoka.csv\n",
443 | "air_fab092c35776a9b1 fukuoka__fukuoka-kana__fukuoka.csv\n",
444 | "air_f1094dbf2aef85d9 fukuoka__fukuoka-kana__fukuoka.csv\n",
445 | "air_d34c0861a2be94cb fukuoka__fukuoka-kana__fukuoka.csv\n",
446 | "air_09040f6df960ddb8 tokyo__setagaya-kana__setagaya.csv\n",
447 | "air_414ff459ed18fa48 tokyo__setagaya-kana__setagaya.csv\n",
448 | "air_6e06824d0934dd81 tokyo__tokyo-kana__tonokyo.csv\n",
449 | "air_fe58c074ec1445ea tokyo__tokyo-kana__tonokyo.csv\n",
450 | "air_d5e0a20370c325c7 tokyo__tokyo-kana__tonokyo.csv\n",
451 | "air_b8a5ee69e5fdcc5b tokyo__tokyo-kana__tonokyo.csv\n",
452 | "air_d0a7bd3339c3d12a tokyo__tokyo-kana__tonokyo.csv\n",
453 | "air_23e1b11aee2a1407 tokyo__tokyo-kana__tonokyo.csv\n",
454 | "air_ad60f6b76c9df7ed tokyo__tokyo-kana__tonokyo.csv\n",
455 | "air_0f60e1576a7d397d fukuoka__maehara-kana__maebaru.csv\n",
456 | "air_a41b032371a63427 fukuoka__maehara-kana__maebaru.csv\n",
457 | "air_68d075113f368946 fukuoka__maehara-kana__maebaru.csv\n",
458 | "air_f85e21e543cf44f2 fukuoka__maehara-kana__maebaru.csv\n",
459 | "air_083ddc520ea47e1e fukuoka__maehara-kana__maebaru.csv\n",
460 | "air_746211c0b532e8aa fukuoka__maehara-kana__maebaru.csv\n",
461 | "air_c52c63c781fe48f6 fukuoka__maehara-kana__maebaru.csv\n",
462 | "air_d8abb9e490abf94f tokyo__nerima-kana__nerima.csv\n",
463 | "air_0647f17b4dc041c8 tokyo__nerima-kana__nerima.csv\n",
464 | "air_6873982b9e19c7ad hokkaido_tokachi__komaba-kana__NONE.csv\n",
465 | "air_6d65dd11d96e00fb hokkaido_tokachi__komaba-kana__NONE.csv\n",
466 | "air_26c5bbeb7bb82bf1 tokyo__tokyo-kana__tonokyo.csv\n",
467 | "air_78df4dc6a7e83e41 tokyo__tokyo-kana__tonokyo.csv\n",
468 | "air_20619d21192aa571 osaka__osaka-kana__osaka.csv\n",
469 | "air_8a59bb0c497b771e osaka__osaka-kana__osaka.csv\n",
470 | "air_95e917913cd988f3 osaka__osaka-kana__osaka.csv\n",
471 | "air_8f273fb9ad2fed6f osaka__osaka-kana__osaka.csv\n",
472 | "air_7a946aada80376a4 osaka__osaka-kana__osaka.csv\n",
473 | "air_09fd1f5c58583141 osaka__osaka-kana__osaka.csv\n",
474 | "air_034a3d5b40d5b1b1 osaka__osaka-kana__osaka.csv\n",
475 | "air_2a24aec099333f39 osaka__osaka-kana__osaka.csv\n",
476 | "air_9dd7d38b0f1760c4 fukuoka__hakata-kana__hakata.csv\n",
477 | "air_5fbda8e9302f7c13 fukuoka__hakata-kana__hakata.csv\n",
478 | "air_138ee734ac79ff90 fukuoka__hakata-kana__hakata.csv\n",
479 | "air_a85f8c0bfd61889f fukuoka__hakata-kana__hakata.csv\n",
480 | "air_500641aca4cf673c tokyo__fuchu-kana__fuku.csv\n",
481 | "air_23ee674e91469086 tokyo__fuchu-kana__fuku.csv\n",
482 | "air_382f5ace4e2247b8 hiroshima__fukuyama-kana__fukuyama.csv\n",
483 | "air_67483104fa38ef6c hiroshima__fukuyama-kana__fukuyama.csv\n",
484 | "air_b1d822f75c9fc615 tokyo__tokyo-kana__tonokyo.csv\n",
485 | "air_2545dd3a00f265e2 tokyo__tokyo-kana__tonokyo.csv\n",
486 | "air_064e203265ee5753 hyogo__nishinomiya-kana__nishinomiya.csv\n",
487 | "air_45326ebb8dc72cfb hyogo__nishinomiya-kana__nishinomiya.csv\n",
488 | "air_232dcee6f7c51d37 tokyo__tokyo-kana__tonokyo.csv\n",
489 | "air_4dea8d17f6f59c56 tokyo__tokyo-kana__tonokyo.csv\n",
490 | "air_5b6d18c470bbfaf9 tokyo__tokyo-kana__tonokyo.csv\n",
491 | "air_e58f669b6f1a08ce tokyo__tokyo-kana__tonokyo.csv\n",
492 | "air_b1a72bf1ebf4b8ef tokyo__tokyo-kana__tonokyo.csv\n",
493 | "air_d4b5a4b04c5f2d04 osaka__sakai-kana__sakai.csv\n",
494 | "air_d98380a4aeb0290b osaka__sakai-kana__sakai.csv\n",
495 | "air_0382c794b73b51ad tokyo__setagaya-kana__setagaya.csv\n",
496 | "air_bac5f4441db21db9 tokyo__setagaya-kana__setagaya.csv\n",
497 | "air_275732a5db46f4d3 tokyo__setagaya-kana__setagaya.csv\n",
498 | "air_ebe02c3090271fa9 tokyo__setagaya-kana__setagaya.csv\n",
499 | "air_ab9746a0f83084b7 tokyo__setagaya-kana__setagaya.csv\n",
500 | "air_b0a6a4c5e95c74cf yamaguchi__shimonoseki-kana__shimonoseki.csv\n",
501 | "air_452100f5305dde64 yamaguchi__shimonoseki-kana__shimonoseki.csv\n",
502 | "air_ca1315af9e073bd1 tokyo__tokyo-kana__tonokyo.csv\n",
503 | "air_e08b9cf82057a170 tokyo__tokyo-kana__tonokyo.csv\n",
504 | "air_63b13c56b7201bd9 fukuoka__fukuoka-kana__fukuoka.csv\n",
505 | "air_105a7954e32dba9b fukuoka__fukuoka-kana__fukuoka.csv\n",
506 | "air_95d28905941fd4cb tokyo__tokyo-kana__tonokyo.csv\n",
507 | "air_eceb97ad6a7d4c07 tokyo__tokyo-kana__tonokyo.csv\n",
508 | "air_036d4f1ee7285390 hyogo__nishinomiya-kana__nishinomiya.csv\n",
509 | "air_74cf22153214064c hyogo__nishinomiya-kana__nishinomiya.csv\n",
510 | "air_0e7c11b9abc50163 tokyo__tokyo-kana__tonokyo.csv\n",
511 | "air_d97dabf7aae60da5 tokyo__tokyo-kana__tonokyo.csv\n",
512 | "air_17bed6dbf7c8b0fc niigata__kashiwazaki-kana__kashiwazaki.csv\n",
513 | "air_a239a44805932bab niigata__kashiwazaki-kana__kashiwazaki.csv\n",
514 | "air_56cebcbd6906e04c hyogo__kobe-kana__koube.csv\n",
515 | "air_4beac252540f865e hyogo__kobe-kana__koube.csv\n",
516 | "air_63a88d81295195ed hyogo__kobe-kana__koube.csv\n",
517 | "air_86cfbf2624576fad tokyo__tokyo-kana__tonokyo.csv\n",
518 | "air_96929a799b12a43e tokyo__tokyo-kana__tonokyo.csv\n",
519 | "air_d69b08a175bc0387 tokyo__tokyo-kana__tonokyo.csv\n",
520 | "air_fd6aac1043520e83 tokyo__tokyo-kana__tonokyo.csv\n",
521 | "air_9483d65e9cc9a6b7 tokyo__tokyo-kana__tonokyo.csv\n",
522 | "air_ffcc2d5087e1b476 tokyo__tokyo-kana__tonokyo.csv\n",
523 | "air_c66dbd2c37832d00 tokyo__tokyo-kana__tonokyo.csv\n",
524 | "air_a11473cc1eb9a27f tokyo__tokyo-kana__tonokyo.csv\n",
525 | "air_e0118664da63a2d0 tokyo__tokyo-kana__tonokyo.csv\n",
526 | "air_5878b6f2a9da12c1 fukuoka__fukuoka-kana__fukuoka.csv\n",
527 | "air_af63df35857b16e6 fukuoka__fukuoka-kana__fukuoka.csv\n",
528 | "air_5a9a6cbeeb434c08 fukuoka__fukuoka-kana__fukuoka.csv\n",
529 | "air_05c325d315cc17f5 fukuoka__fukuoka-kana__fukuoka.csv\n",
530 | "air_cb7467aed805e7fe fukuoka__fukuoka-kana__fukuoka.csv\n",
531 | "air_b2a639cc7e02edf1 fukuoka__fukuoka-kana__fukuoka.csv\n",
532 | "air_e053c561f32acc28 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
533 | "air_a257c9749d8d0ff6 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
534 | "air_abcdc8115988a010 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
535 | "air_db1233ad855b34d5 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
536 | "air_1408dd53f31a8a65 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
537 | "air_c2c8435bdb3516d4 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
538 | "air_e88bbe2ede3467aa hyogo__kobe-kana__koube.csv\n",
539 | "air_91d72e16c4bcba55 hyogo__kobe-kana__koube.csv\n",
540 | "air_48e9fc98b62495a7 osaka__osaka-kana__osaka.csv\n",
541 | "air_6ced51c24fb54262 osaka__osaka-kana__osaka.csv\n",
542 | "air_1d25ca6c76df48b4 osaka__osaka-kana__osaka.csv\n",
543 | "air_6411203a47b5ec77 osaka__osaka-kana__osaka.csv\n",
544 | "air_8cc350fd70ee0757 osaka__toyonaka-kana__toyonaka.csv\n",
545 | "air_cc1a0e985ce63711 osaka__toyonaka-kana__toyonaka.csv\n",
546 | "air_5c817ef28f236bdf tokyo__tokyo-kana__tonokyo.csv\n",
547 | "air_87ca98aa7664de94 tokyo__tokyo-kana__tonokyo.csv\n",
548 | "air_f6bfd27e2e174d16 tokyo__tokyo-kana__tonokyo.csv\n",
549 | "air_b9e27558fb8bd5c4 tokyo__tokyo-kana__tonokyo.csv\n",
550 | "air_229d7e508d9f1b5e tokyo__nerima-kana__nerima.csv\n",
551 | "air_68301bcb11e2f389 tokyo__nerima-kana__nerima.csv\n",
552 | "air_1033310359ceeac1 tokyo__tokyo-kana__tonokyo.csv\n",
553 | "air_084d98859256acf0 tokyo__tokyo-kana__tonokyo.csv\n",
554 | "air_4d21676ed11f0bac hiroshima__hiroshima-kana__hiroshima.csv\n",
555 | "air_b60cc7d6aee68194 hiroshima__hiroshima-kana__hiroshima.csv\n",
556 | "air_ecab54b57a71b10d hiroshima__hiroshima-kana__hiroshima.csv\n",
557 | "air_03963426c9312048 hiroshima__hiroshima-kana__hiroshima.csv\n",
558 | "air_c47aa7493b15f297 hiroshima__hiroshima-kana__hiroshima.csv\n",
559 | "air_97159fc4e90053fe hiroshima__hiroshima-kana__hiroshima.csv\n"
560 | ]
561 | },
562 | {
563 | "name": "stdout",
564 | "output_type": "stream",
565 | "text": [
566 | "air_f96765e800907c77 hiroshima__hiroshima-kana__hiroshima.csv\n",
567 | "air_28a9fa1ec0839375 hiroshima__hiroshima-kana__hiroshima.csv\n",
568 | "air_421670f21da5ba31 hiroshima__hiroshima-kana__hiroshima.csv\n",
569 | "air_1707a3f18bb0da07 hiroshima__hiroshima-kana__hiroshima.csv\n",
570 | "air_646b93e336f0dded hiroshima__hiroshima-kana__hiroshima.csv\n",
571 | "air_de88770300008624 niigata__niigata-kana__niigata.csv\n",
572 | "air_e7fbee4e3cfe65c5 niigata__niigata-kana__niigata.csv\n",
573 | "air_0b1e72d2d4422b20 niigata__niigata-kana__niigata.csv\n",
574 | "air_ee3ba9af184c6c82 niigata__niigata-kana__niigata.csv\n",
575 | "air_5f3a3ef4cba110a4 tokyo__tokyo-kana__tonokyo.csv\n",
576 | "air_9d474ec2448c700d tokyo__tokyo-kana__tonokyo.csv\n",
577 | "air_5cb030b9f0b91537 tokyo__tokyo-kana__tonokyo.csv\n",
578 | "air_1d1e8860ae04f8e9 tokyo__tokyo-kana__tonokyo.csv\n",
579 | "air_8f3b563416efc6ad tokyo__tokyo-kana__tonokyo.csv\n",
580 | "air_48ffd31594bc3263 tokyo__tokyo-kana__tonokyo.csv\n",
581 | "air_f26f36ec4dc5adb0 tokyo__tokyo-kana__tonokyo.csv\n",
582 | "air_2570ccb93badde68 tokyo__tokyo-kana__tonokyo.csv\n",
583 | "air_28064154614b2e6c tokyo__tokyo-kana__tonokyo.csv\n",
584 | "air_2634e41551e9807d tokyo__tokyo-kana__tonokyo.csv\n",
585 | "air_640cf4835f0d9ba3 tokyo__haneda-kana__haneda.csv\n",
586 | "air_f2985de32bb792e0 tokyo__haneda-kana__haneda.csv\n",
587 | "air_81a12d67c22e012f tokyo__haneda-kana__haneda.csv\n",
588 | "air_965b2e0cf4119003 tokyo__setagaya-kana__setagaya.csv\n",
589 | "air_d500b48a8735fbd3 tokyo__setagaya-kana__setagaya.csv\n",
590 | "air_a271c9ba19e81d17 tokyo__setagaya-kana__setagaya.csv\n",
591 | "air_fbadf737162a5ce3 tokyo__setagaya-kana__setagaya.csv\n",
592 | "air_c1ff20617c54fee7 tokyo__setagaya-kana__setagaya.csv\n",
593 | "air_7831b00996701c0f hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
594 | "air_04cae7c1bc9b2a0b hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
595 | "air_bc9a129e11a2efe0 osaka__osaka-kana__osaka.csv\n",
596 | "air_72f5146cf0c49beb osaka__osaka-kana__osaka.csv\n",
597 | "air_bb09595bab7d5cfb niigata__niigata-kana__niigata.csv\n",
598 | "air_cfcc94797d2b5d3d niigata__niigata-kana__niigata.csv\n",
599 | "air_754ae581ad80cc9f niigata__niigata-kana__niigata.csv\n",
600 | "air_8523d6a70de49e6c fukuoka__hakata-kana__hakata.csv\n",
601 | "air_bcce1ea4350b7b72 fukuoka__hakata-kana__hakata.csv\n",
602 | "air_2d3afcb91762fe01 fukuoka__hakata-kana__hakata.csv\n",
603 | "air_066f0221b8a4d533 fukuoka__hakata-kana__hakata.csv\n",
604 | "air_ca6ae8d49a2f1eaf fukuoka__hakata-kana__hakata.csv\n",
605 | "air_de692863bb2dd758 fukuoka__hakata-kana__hakata.csv\n",
606 | "air_947eb2cae4f3e8f2 fukuoka__hakata-kana__hakata.csv\n",
607 | "air_b1bb1fae86617d7a fukuoka__hakata-kana__hakata.csv\n",
608 | "air_51281cd059d7b89b shizuoka__hamamatsu-kana__hamamatsu.csv\n",
609 | "air_df554c4527a1cfe6 shizuoka__hamamatsu-kana__hamamatsu.csv\n",
610 | "air_622375b4815cf5cb fukuoka__yawata-kana__yahata.csv\n",
611 | "air_61b8d37c33617f21 fukuoka__yawata-kana__yahata.csv\n",
612 | "air_cbe867adcf44e14f fukuoka__yawata-kana__yahata.csv\n",
613 | "air_09a845d5b5944b01 fukuoka__kurume-kana__kurume.csv\n",
614 | "air_789466e488705c93 fukuoka__kurume-kana__kurume.csv\n",
615 | "air_bc991c51d6613745 fukuoka__kurume-kana__kurume.csv\n",
616 | "air_2703dcb33192b181 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
617 | "air_06f95ac5c33aca10 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
618 | "air_258ad2619d7bff9a tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
619 | "air_e42bdc3377d1eee7 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
620 | "air_90bd5de52c166767 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
621 | "air_fb44f566d4f64a4e tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
622 | "air_4d90a22572fa1ec9 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
623 | "air_c1d5d165c055b866 miyagi__sendai-kana__sendai.csv\n",
624 | "air_08ba8cd01b3ba010 miyagi__sendai-kana__sendai.csv\n",
625 | "air_a55d17bd3f3033cb miyagi__sendai-kana__sendai.csv\n",
626 | "air_4433ab8e9999915f miyagi__sendai-kana__sendai.csv\n",
627 | "air_3bb99a1fe0583897 miyagi__sendai-kana__sendai.csv\n",
628 | "air_e700e390226d9985 miyagi__sendai-kana__sendai.csv\n",
629 | "air_a083834e7ffe187e miyagi__sendai-kana__sendai.csv\n",
630 | "air_3980af67be35afdb tokyo__tokyo-kana__tonokyo.csv\n",
631 | "air_950381108f839348 tokyo__tokyo-kana__tonokyo.csv\n",
632 | "air_77dfc83450cbc89c tokyo__tokyo-kana__tonokyo.csv\n",
633 | "air_990a642a3deb2903 tokyo__tokyo-kana__tonokyo.csv\n",
634 | "air_6607fe3671242ce3 tokyo__tokyo-kana__tonokyo.csv\n",
635 | "air_54ed43163b7596c4 tokyo__tokyo-kana__tonokyo.csv\n",
636 | "air_9aa32b3db0fab3a5 tokyo__tokyo-kana__tonokyo.csv\n",
637 | "air_546b353cbea4a45b tokyo__tokyo-kana__tonokyo.csv\n",
638 | "air_4feeb8600f131e43 tokyo__tokyo-kana__tonokyo.csv\n",
639 | "air_614e2f7e76dff854 tokyo__tokyo-kana__tonokyo.csv\n",
640 | "air_f0c7272956e62f12 tokyo__tokyo-kana__tonokyo.csv\n",
641 | "air_324f7c39a8410e7c hyogo__akashi-kana__akashi.csv\n",
642 | "air_6b942d5ebbc759c2 hyogo__akashi-kana__akashi.csv\n",
643 | "air_3e6cea17a9d2c0f1 hyogo__akashi-kana__akashi.csv\n",
644 | "air_08cb3c4ee6cd6a22 hyogo__akashi-kana__akashi.csv\n",
645 | "air_7f9e15afafcf4c75 hyogo__akashi-kana__akashi.csv\n",
646 | "air_e55abd740f93ecc4 hyogo__akashi-kana__akashi.csv\n",
647 | "air_21f5052d5330528d hyogo__akashi-kana__akashi.csv\n",
648 | "air_e00fe7853c0100d6 hyogo__akashi-kana__akashi.csv\n",
649 | "air_ad7777590c884721 tokyo__tokyo-kana__tonokyo.csv\n",
650 | "air_90ed0a2f24755533 tokyo__tokyo-kana__tonokyo.csv\n",
651 | "air_e89735e80d614a7e tokyo__tokyo-kana__tonokyo.csv\n",
652 | "air_675aa35cba456fd1 tokyo__tokyo-kana__tonokyo.csv\n",
653 | "air_2c989829acbd1c6b tokyo__tokyo-kana__tonokyo.csv\n",
654 | "air_a38f25e3399d1b25 tokyo__tokyo-kana__tonokyo.csv\n",
655 | "air_f1f9027d4fa8f653 tokyo__tokyo-kana__tonokyo.csv\n",
656 | "air_b3180b74332ba886 fukuoka__fukuoka-kana__fukuoka.csv\n",
657 | "air_60a7057184ec7ec7 fukuoka__fukuoka-kana__fukuoka.csv\n",
658 | "air_04341b588bde96cd tokyo__nerima-kana__nerima.csv\n",
659 | "air_bf7591560077332d tokyo__nerima-kana__nerima.csv\n",
660 | "air_0241aa3964b7f861 tokyo__tokyo-kana__tonokyo.csv\n",
661 | "air_f068442ebb6c246c tokyo__tokyo-kana__tonokyo.csv\n",
662 | "air_b2d97bd2337c5ba7 tokyo__tokyo-kana__tonokyo.csv\n",
663 | "air_915558a55c2bc56c tokyo__fuchu-kana__fuku.csv\n",
664 | "air_ec0fad2def4dcff0 tokyo__fuchu-kana__fuku.csv\n",
665 | "air_326ca454ef3558bc shizuoka__shizuoka-kana__shizuoka.csv\n",
666 | "air_5f6fa1b897fe80d5 shizuoka__shizuoka-kana__shizuoka.csv\n",
667 | "air_629d9935273c82ae shizuoka__shizuoka-kana__shizuoka.csv\n",
668 | "air_9b6af3db40da4ae2 niigata__nagaoka-kana__nagaoka.csv\n",
669 | "air_e5cf003abcc5febb niigata__nagaoka-kana__nagaoka.csv\n",
670 | "air_eda179770dfa9f91 osaka__osaka-kana__osaka.csv\n",
671 | "air_96773a6236d279b1 osaka__osaka-kana__osaka.csv\n",
672 | "air_51319e7acf0438cf fukuoka__hakata-kana__hakata.csv\n",
673 | "air_eec5e572b9eb9c23 fukuoka__hakata-kana__hakata.csv\n",
674 | "air_54d6c25d33f5260e fukuoka__hakata-kana__hakata.csv\n",
675 | "air_9241121af22ff1d6 tokyo__tokyo-kana__tonokyo.csv\n",
676 | "air_5acc13d655a6e8b2 tokyo__tokyo-kana__tonokyo.csv\n",
677 | "air_b8d9e1624baaadc2 kanagawa__hiyoshi-kana__hiyoshi.csv\n",
678 | "air_789103bf53b8096b kanagawa__hiyoshi-kana__hiyoshi.csv\n",
679 | "air_17a6ab40f97fd4d8 tokyo__tokyo-kana__tonokyo.csv\n",
680 | "air_8110d68cc869b85e tokyo__tokyo-kana__tonokyo.csv\n",
681 | "air_ea6d0c3acf00b22a tokyo__tokyo-kana__tonokyo.csv\n",
682 | "air_81bd68142db76f58 tokyo__tokyo-kana__tonokyo.csv\n",
683 | "air_33b01025210d6007 osaka__ikomayama-kana__ikomayama.csv\n",
684 | "air_1c95a84924d72500 osaka__ikomayama-kana__ikomayama.csv\n",
685 | "air_4570f52104fe0982 tokyo__tokyo-kana__tonokyo.csv\n",
686 | "air_4cca5666eaf5c709 tokyo__tokyo-kana__tonokyo.csv\n",
687 | "air_90f0efbb702d77b7 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
688 | "air_1ba4e87ef7422183 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
689 | "air_97cf68dc1a9beac0 hiroshima__fukuyama-kana__fukuyama.csv\n",
690 | "air_c3585b0fba3998d0 hiroshima__fukuyama-kana__fukuyama.csv\n",
691 | "air_3c05c8f26c611eb9 hiroshima__fukuyama-kana__fukuyama.csv\n",
692 | "air_f0fb0975bdc2cdf9 hiroshima__fukuyama-kana__fukuyama.csv\n",
693 | "air_6e3fd96320d24324 hiroshima__fukuyama-kana__fukuyama.csv\n",
694 | "air_8ec47c0f1e2c879e tokyo__setagaya-kana__setagaya.csv\n",
695 | "air_ced6297e5bdf5130 tokyo__setagaya-kana__setagaya.csv\n",
696 | "air_7d65049f9d275c0d tokyo__tokyo-kana__tonokyo.csv\n",
697 | "air_a563896da3777078 tokyo__tokyo-kana__tonokyo.csv\n",
698 | "air_d1418d6fd6d634f2 hyogo__kobe-kana__koube.csv\n",
699 | "air_7cf5a02c0e01b647 hyogo__kobe-kana__koube.csv\n",
700 | "air_6ca1d941c8199a67 hyogo__himeji-kana__gimpe.csv\n",
701 | "air_5d7c744c3a2ef624 hyogo__himeji-kana__gimpe.csv\n",
702 | "air_28dbe91c4c9656be hyogo__himeji-kana__gimpe.csv\n",
703 | "air_99a5183695b849f9 hyogo__himeji-kana__gimpe.csv\n",
704 | "air_5485912b44f976de hyogo__himeji-kana__gimpe.csv\n",
705 | "air_25e9888d30b386df tokyo__tokyo-kana__tonokyo.csv\n",
706 | "air_4cab91146e3d1897 tokyo__tokyo-kana__tonokyo.csv\n",
707 | "air_152c1f08d7d20e07 hiroshima__hiroshima-kana__hiroshima.csv\n",
708 | "air_346ade7d29230634 hiroshima__hiroshima-kana__hiroshima.csv\n",
709 | "air_800c02226e2e0288 fukuoka__fukuoka-kana__fukuoka.csv\n",
710 | "air_c027e2b560442808 fukuoka__fukuoka-kana__fukuoka.csv\n",
711 | "air_96005f79124e12bf osaka__osaka-kana__osaka.csv\n",
712 | "air_4de6d887a7b1c1fc osaka__osaka-kana__osaka.csv\n",
713 | "air_0f2f96335f274801 tokyo__tokyo-kana__tonokyo.csv\n",
714 | "air_32b02ba5dc2027f4 tokyo__tokyo-kana__tonokyo.csv\n",
715 | "air_93b9bb641f8fc982 hyogo__nishinomiya-kana__nishinomiya.csv\n"
716 | ]
717 | },
718 | {
719 | "name": "stdout",
720 | "output_type": "stream",
721 | "text": [
722 | "air_39dccf7df20b1c6a hyogo__nishinomiya-kana__nishinomiya.csv\n",
723 | "air_694571ea13fb9e0e hyogo__kobe-kana__koube.csv\n",
724 | "air_f927b2da69a82341 hyogo__kobe-kana__koube.csv\n",
725 | "air_6ff5fca957798daa tokyo__tokyo-kana__tonokyo.csv\n",
726 | "air_75864c80d2fb334a tokyo__tokyo-kana__tonokyo.csv\n",
727 | "air_c7f78b4f3cba33ff tokyo__tokyo-kana__tonokyo.csv\n",
728 | "air_07b314d83059c4d2 osaka__osaka-kana__osaka.csv\n",
729 | "air_7420042ff75f9aca osaka__osaka-kana__osaka.csv\n",
730 | "air_1c0b150f9e696a5f tokyo__tokyo-kana__tonokyo.csv\n",
731 | "air_8d61f49aa0373492 tokyo__tokyo-kana__tonokyo.csv\n",
732 | "air_2b8b29ddfd35018e hiroshima__hiroshima-kana__hiroshima.csv\n",
733 | "air_e270aff84ac7e4c8 hiroshima__hiroshima-kana__hiroshima.csv\n",
734 | "air_3e93f3c81008696d hiroshima__hiroshima-kana__hiroshima.csv\n",
735 | "air_7f3dc18494bce98b osaka__osaka-kana__osaka.csv\n",
736 | "air_670a0c1c4108bcea osaka__osaka-kana__osaka.csv\n",
737 | "air_c8265ecc116f2284 tokyo__tokyo-kana__tonokyo.csv\n",
738 | "air_c26f027b5bc1f081 tokyo__tokyo-kana__tonokyo.csv\n",
739 | "air_7a81bd7fadcbf3d8 tokyo__tokyo-kana__tonokyo.csv\n",
740 | "air_60aa54ecbc602348 tokyo__tokyo-kana__tonokyo.csv\n",
741 | "air_8e429650fcf7a0ae tokyo__tokyo-kana__tonokyo.csv\n",
742 | "air_df843e6b22e8d540 tokyo__tokyo-kana__tonokyo.csv\n",
743 | "air_df5cf5cd03eb68d0 tokyo__tokyo-kana__tonokyo.csv\n",
744 | "air_e524c6a9e06cc3a1 tokyo__tokyo-kana__tonokyo.csv\n",
745 | "air_fdcfef8bd859f650 fukuoka__fukuoka-kana__fukuoka.csv\n",
746 | "air_abf06fcca748dca5 fukuoka__fukuoka-kana__fukuoka.csv\n",
747 | "air_d138b593ebda55cc fukuoka__fukuoka-kana__fukuoka.csv\n",
748 | "air_1ae94f514a0bce13 fukuoka__fukuoka-kana__fukuoka.csv\n",
749 | "air_c9f6de13be8b8f25 fukuoka__fukuoka-kana__fukuoka.csv\n",
750 | "air_a1fe8c588c8d2f30 fukuoka__fukuoka-kana__fukuoka.csv\n",
751 | "air_16cf0a73233896de fukuoka__fukuoka-kana__fukuoka.csv\n",
752 | "air_c92745dfdd2ec68a tokyo__setagaya-kana__setagaya.csv\n",
753 | "air_f957c6d6467d4d90 tokyo__setagaya-kana__setagaya.csv\n",
754 | "air_4f762e840b3996e1 tokyo__setagaya-kana__setagaya.csv\n",
755 | "air_d44d210d2994f01b tokyo__setagaya-kana__setagaya.csv\n",
756 | "air_c759b6abeb552160 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
757 | "air_5c7489c9ec755e2d hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
758 | "air_52a08ef3efdb4bb0 hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
759 | "air_37189c92b6c761ec hokkaido_kamikawa__asahikawa-kana__asahikawa.csv\n",
760 | "air_87078cf7903a648c tokyo__tokyo-kana__tonokyo.csv\n",
761 | "air_5e939e005bd34633 tokyo__tokyo-kana__tonokyo.csv\n",
762 | "air_8764b3473ddcceaf tokyo__tokyo-kana__tonokyo.csv\n",
763 | "air_4c2ed28f3f19ca52 tokyo__tokyo-kana__tonokyo.csv\n",
764 | "air_2ac361b97630e2df tokyo__tokyo-kana__tonokyo.csv\n",
765 | "air_b8925441167c3152 tokyo__tokyo-kana__tonokyo.csv\n",
766 | "air_22682e965418936f tokyo__tokyo-kana__tonokyo.csv\n",
767 | "air_aa0049fe3cc6f4d6 tokyo__tokyo-kana__tonokyo.csv\n",
768 | "air_3b6438b125086430 hiroshima__hiroshima-kana__hiroshima.csv\n",
769 | "air_2a485b92210c98b5 hiroshima__hiroshima-kana__hiroshima.csv\n",
770 | "air_ba495cccc8f0f237 tokyo__tokyo-kana__tonokyo.csv\n",
771 | "air_81546875de9c8e78 tokyo__tokyo-kana__tonokyo.csv\n",
772 | "air_bd74a9222edfdfe1 tokyo__tokyo-kana__tonokyo.csv\n",
773 | "air_61668cc2b0778898 tokyo__tokyo-kana__tonokyo.csv\n",
774 | "air_220cba70c890b119 tokyo__tokyo-kana__tonokyo.csv\n",
775 | "air_8d50c64692322dff tokyo__tokyo-kana__tonokyo.csv\n",
776 | "air_87059630ab6fe47f tokyo__tokyo-kana__tonokyo.csv\n",
777 | "air_a510dcfe979f09eb tokyo__tokyo-kana__tonokyo.csv\n",
778 | "air_dabfbd0ec951925a tokyo__tokyo-kana__tonokyo.csv\n",
779 | "air_712dd258f7f91b4b tokyo__tokyo-kana__tonokyo.csv\n",
780 | "air_9105a29b0eb250d2 fukuoka__hakata-kana__hakata.csv\n",
781 | "air_85bd13a49370c392 fukuoka__hakata-kana__hakata.csv\n",
782 | "air_2b9bc9f5f5168ea1 miyagi__sendai-kana__sendai.csv\n",
783 | "air_2a184c1745274b2b miyagi__sendai-kana__sendai.csv\n",
784 | "air_f3f9824b7d70c3cf hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
785 | "air_fc477473134e9ae5 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
786 | "air_b88192b35ac03c24 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
787 | "air_d477b6339b8ce69f hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
788 | "air_f6b2489ccf873c3b tokyo__tokyo-kana__tonokyo.csv\n",
789 | "air_cb25551c4cd8d9f3 tokyo__tokyo-kana__tonokyo.csv\n",
790 | "air_6a15e4eae523189d tokyo__tokyo-kana__tonokyo.csv\n",
791 | "air_36bcf77d3382d36e tokyo__tokyo-kana__tonokyo.csv\n",
792 | "air_cfdeb326418194ff tokyo__tokyo-kana__tonokyo.csv\n",
793 | "air_1ab60ce33bfed8a8 tokyo__tokyo-kana__tonokyo.csv\n",
794 | "air_7c7774c66fb237f7 tokyo__tokyo-kana__tonokyo.csv\n",
795 | "air_536043fcf1a4f8a4 osaka__osaka-kana__osaka.csv\n",
796 | "air_709262d948dd0b6e osaka__osaka-kana__osaka.csv\n",
797 | "air_70e9e8cd55879414 tokyo__tokyo-kana__tonokyo.csv\n",
798 | "air_49211568cab5fdee tokyo__tokyo-kana__tonokyo.csv\n",
799 | "air_d473620754bf9fc2 tokyo__nerima-kana__nerima.csv\n",
800 | "air_f88898cd09f40496 tokyo__nerima-kana__nerima.csv\n",
801 | "air_c3dcaf3aeb18e20e tokyo__tokyo-kana__tonokyo.csv\n",
802 | "air_3bd49f98ab7f36ab tokyo__tokyo-kana__tonokyo.csv\n",
803 | "air_5cfc537125d97f16 tokyo__tokyo-kana__tonokyo.csv\n",
804 | "air_61de73b097513f58 tokyo__tokyo-kana__tonokyo.csv\n",
805 | "air_8c3175aa5e4fc569 tokyo__tokyo-kana__tonokyo.csv\n",
806 | "air_728ff578acc6ac6e tokyo__tokyo-kana__tonokyo.csv\n",
807 | "air_93ebe490d4abb8e9 tokyo__tokyo-kana__tonokyo.csv\n",
808 | "air_fff68b929994bfbd tokyo__nerima-kana__nerima.csv\n",
809 | "air_883ca28ef0ed3d55 tokyo__nerima-kana__nerima.csv\n",
810 | "air_79afb3f52b4d062c osaka__hirakata-kana__hirakata.csv\n",
811 | "air_1f7f8fa557bc0d55 osaka__hirakata-kana__hirakata.csv\n",
812 | "air_4c665a2bfff0da3b tokyo__tokyo-kana__tonokyo.csv\n",
813 | "air_735bcbe1763d6e98 tokyo__tokyo-kana__tonokyo.csv\n",
814 | "air_5afb1cca48ceaa19 tokyo__tokyo-kana__tonokyo.csv\n",
815 | "air_287d2de7d3c93406 tokyo__tokyo-kana__tonokyo.csv\n",
816 | "air_4d71826793c09b22 tokyo__tokyo-kana__tonokyo.csv\n",
817 | "air_876d7a23c47811cb tokyo__tokyo-kana__tonokyo.csv\n",
818 | "air_b3a824511477a4ed tokyo__tokyo-kana__tonokyo.csv\n",
819 | "air_877f79706adbfb06 tokyo__tokyo-kana__tonokyo.csv\n",
820 | "air_671b4bea84dafb67 tokyo__tokyo-kana__tonokyo.csv\n",
821 | "air_b2395df0e874078d tokyo__tokyo-kana__tonokyo.csv\n",
822 | "air_4b9085d0d46a6211 tokyo__tokyo-kana__tonokyo.csv\n",
823 | "air_3c938075889fc059 fukuoka__fukuoka-kana__fukuoka.csv\n",
824 | "air_049f6d5b402a31b2 fukuoka__fukuoka-kana__fukuoka.csv\n",
825 | "air_c8a657c8c5c93d69 fukuoka__fukuoka-kana__fukuoka.csv\n",
826 | "air_a304330715435390 tokyo__setagaya-kana__setagaya.csv\n",
827 | "air_1dd8f6f47480d1a2 tokyo__setagaya-kana__setagaya.csv\n",
828 | "air_7bacc4d36fb094c9 tokyo__setagaya-kana__setagaya.csv\n",
829 | "air_3cad29d1a23209d2 tokyo__tokyo-kana__tonokyo.csv\n",
830 | "air_a9178f19da58fe99 tokyo__tokyo-kana__tonokyo.csv\n",
831 | "air_f9168b23fdfc1e52 tokyo__nerima-kana__nerima.csv\n",
832 | "air_bf21b8350771879b tokyo__nerima-kana__nerima.csv\n",
833 | "air_e0f241bd406810c0 hiroshima__hiroshima-kana__hiroshima.csv\n",
834 | "air_4974785f48853db9 hiroshima__hiroshima-kana__hiroshima.csv\n",
835 | "air_9352c401d5adb01b hiroshima__hiroshima-kana__hiroshima.csv\n",
836 | "air_96743eee94114261 niigata__niigata-kana__niigata.csv\n",
837 | "air_3155ee23d92202da niigata__niigata-kana__niigata.csv\n",
838 | "air_9387ff95e886ebc7 niigata__niigata-kana__niigata.csv\n",
839 | "air_1f34e9beded2231a hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
840 | "air_f690c42545146e0a hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
841 | "air_cc35590cd1da8554 tokyo__tokyo-kana__tonokyo.csv\n",
842 | "air_3d3a2b509180e798 tokyo__tokyo-kana__tonokyo.csv\n",
843 | "air_7db266904cb0d72a tokyo__tokyo-kana__tonokyo.csv\n",
844 | "air_1eeff462acb24fb7 tokyo__tokyo-kana__tonokyo.csv\n",
845 | "air_472b19e3b5bffa41 tokyo__tokyo-kana__tonokyo.csv\n",
846 | "air_1f1390a8be2272b3 tokyo__tokyo-kana__tonokyo.csv\n",
847 | "air_8a1d21fad48374e8 fukuoka__hakata-kana__hakata.csv\n",
848 | "air_84f6876ff7e83ae7 fukuoka__hakata-kana__hakata.csv\n",
849 | "air_eca4a5a191e8d993 miyagi__sendai-kana__sendai.csv\n",
850 | "air_539d693f7317c62d miyagi__sendai-kana__sendai.csv\n",
851 | "air_de803f7e324936b8 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
852 | "air_673acd9fa5e0dd78 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
853 | "air_931a8a4321b6e7d1 tokyo__tokyo-kana__tonokyo.csv\n",
854 | "air_0b184ec04c741a6a tokyo__tokyo-kana__tonokyo.csv\n",
855 | "air_dad0b6a36138f309 tokyo__tokyo-kana__tonokyo.csv\n",
856 | "air_e8ed9335d0c38333 tokyo__tokyo-kana__tonokyo.csv\n",
857 | "air_609050e4e4f79ae1 tokyo__tokyo-kana__tonokyo.csv\n",
858 | "air_68cc910e7b307b09 tokyo__tokyo-kana__tonokyo.csv\n",
859 | "air_eb20a89bba7dd3d0 tokyo__tokyo-kana__tonokyo.csv\n",
860 | "air_473cf23b9e7c0a37 fukuoka__fukuoka-kana__fukuoka.csv\n",
861 | "air_67f87c159d9e2ee2 fukuoka__fukuoka-kana__fukuoka.csv\n",
862 | "air_f2c5a1f24279c531 tokyo__tokyo-kana__tonokyo.csv\n",
863 | "air_47070be6093f123e tokyo__tokyo-kana__tonokyo.csv\n",
864 | "air_63e28ee0b0c955a7 tokyo__tokyo-kana__tonokyo.csv\n",
865 | "air_2d78d9a1f4dd02ca tokyo__tokyo-kana__tonokyo.csv\n",
866 | "air_c4fa5c562d5409ca yamaguchi__shimonoseki-kana__shimonoseki.csv\n",
867 | "air_24b9b2a020826ede yamaguchi__shimonoseki-kana__shimonoseki.csv\n",
868 | "air_75bd5d1b6dc6670d tokyo__tokyo-kana__tonokyo.csv\n",
869 | "air_573ecdf81b157d22 tokyo__tokyo-kana__tonokyo.csv\n",
870 | "air_55e11c33d4758131 tokyo__tokyo-kana__tonokyo.csv\n",
871 | "air_bb4ff06cd661ee9b tokyo__haneda-kana__haneda.csv\n"
872 | ]
873 | },
874 | {
875 | "name": "stdout",
876 | "output_type": "stream",
877 | "text": [
878 | "air_88ca84051ba95339 tokyo__haneda-kana__haneda.csv\n",
879 | "air_b2dcec37b83e2494 fukuoka__kuroki-kana__kuroigi.csv\n",
880 | "air_68c1de82037d87e6 fukuoka__kuroki-kana__kuroigi.csv\n",
881 | "air_347be2c4feeb408b tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
882 | "air_258dc112912fc458 tokyo__edogawa-seaside-kana__edgawawinkai.csv\n",
883 | "air_683371d9baabf410 hyogo__himeji-kana__gimpe.csv\n",
884 | "air_fef9ccb3ba0da2f7 hyogo__himeji-kana__gimpe.csv\n",
885 | "air_bdd32aa407c16335 fukuoka__fukuoka-kana__fukuoka.csv\n",
886 | "air_a88ac559064dec08 fukuoka__fukuoka-kana__fukuoka.csv\n",
887 | "air_457efe8c3a30ea17 tokyo__tokyo-kana__tonokyo.csv\n",
888 | "air_d0a1e69685259c92 tokyo__tokyo-kana__tonokyo.csv\n",
889 | "air_90213bcae4afa274 tokyo__tokyo-kana__tonokyo.csv\n",
890 | "air_9aa92007e3628dbc osaka__osaka-kana__osaka.csv\n",
891 | "air_9dc9483f717d73ee osaka__osaka-kana__osaka.csv\n",
892 | "air_64a5d5c1381837af tokyo__nerima-kana__nerima.csv\n",
893 | "air_b711b43ae472cb6b tokyo__nerima-kana__nerima.csv\n",
894 | "air_43d577e0c9460e64 hyogo__nishinomiya-kana__nishinomiya.csv\n",
895 | "air_2fc149abe33adcb4 hyogo__nishinomiya-kana__nishinomiya.csv\n",
896 | "air_f267dd70a6a6b5d3 hyogo__himeji-kana__gimpe.csv\n",
897 | "air_4c727b55acdee495 hyogo__himeji-kana__gimpe.csv\n",
898 | "air_eb5788dba285e725 fukuoka__fukuoka-kana__fukuoka.csv\n",
899 | "air_e2208a79e2678432 fukuoka__fukuoka-kana__fukuoka.csv\n",
900 | "air_4b251b9f8373f1ae fukuoka__fukuoka-kana__fukuoka.csv\n",
901 | "air_c8c0ef02ed72053f tokyo__setagaya-kana__setagaya.csv\n",
902 | "air_cb935ff8610ba3d3 tokyo__setagaya-kana__setagaya.csv\n",
903 | "air_9cf2f1ba86229773 tokyo__setagaya-kana__setagaya.csv\n",
904 | "air_07bb665f9cdfbdfb osaka__osaka-kana__osaka.csv\n",
905 | "air_3caef3f76b8f26c5 osaka__osaka-kana__osaka.csv\n",
906 | "air_5c65468938c07fa5 tokyo__tokyo-kana__tonokyo.csv\n",
907 | "air_2c505f9ad67d4635 tokyo__tokyo-kana__tonokyo.csv\n",
908 | "air_b28bed4b2e7167b7 tokyo__tokyo-kana__tonokyo.csv\n",
909 | "air_efc80d3f96b3aff7 tokyo__nerima-kana__nerima.csv\n",
910 | "air_77488fa378cf98c3 tokyo__nerima-kana__nerima.csv\n",
911 | "air_9fc607777ad76b26 tokyo__setagaya-kana__setagaya.csv\n",
912 | "air_2fed81034f8834e5 tokyo__setagaya-kana__setagaya.csv\n",
913 | "air_65e294f1ae6df9c3 fukuoka__hakata-kana__hakata.csv\n",
914 | "air_e0e69668214ff972 fukuoka__hakata-kana__hakata.csv\n",
915 | "air_fea5dc9594450608 shizuoka__hamamatsu-kana__hamamatsu.csv\n",
916 | "air_a678e5b144ca24ce shizuoka__hamamatsu-kana__hamamatsu.csv\n",
917 | "air_c7d30ab0e07f31d5 tokyo__tokyo-kana__tonokyo.csv\n",
918 | "air_8a906e5801eac81c tokyo__tokyo-kana__tonokyo.csv\n",
919 | "air_efef1e3daecce07e osaka__osaka-kana__osaka.csv\n",
920 | "air_26f10355d9b4d82a osaka__osaka-kana__osaka.csv\n",
921 | "air_4254c3fc3ad078bd tokyo__tokyo-kana__tonokyo.csv\n",
922 | "air_82a6ae14151953ba tokyo__tokyo-kana__tonokyo.csv\n",
923 | "air_24e8414b9b07decb tokyo__tokyo-kana__tonokyo.csv\n",
924 | "air_5e339a1f364cdb00 tokyo__tokyo-kana__tonokyo.csv\n",
925 | "air_d07e57b21109304a tokyo__tokyo-kana__tonokyo.csv\n",
926 | "air_2cee51fa6fdf6c0d tokyo__tokyo-kana__tonokyo.csv\n",
927 | "air_12c4fb7a423df20d tokyo__tokyo-kana__tonokyo.csv\n",
928 | "air_25d8e5cc57dd87d9 tokyo__tokyo-kana__tonokyo.csv\n",
929 | "air_57c9eea1a2b66e65 tokyo__nerima-kana__nerima.csv\n",
930 | "air_0728814bd98f7367 tokyo__nerima-kana__nerima.csv\n",
931 | "air_79f528087f49df06 tokyo__nerima-kana__nerima.csv\n",
932 | "air_b45b8e456f53942a hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
933 | "air_0a74a5408a0b8642 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
934 | "air_890d7e28e8eaaa11 tokyo__tokyo-kana__tonokyo.csv\n",
935 | "air_bedd35489e666605 tokyo__tokyo-kana__tonokyo.csv\n",
936 | "air_daa7947e1c47f5ed tokyo__tokyo-kana__tonokyo.csv\n",
937 | "air_e9ebf7fc520ac76a tokyo__tokyo-kana__tonokyo.csv\n",
938 | "air_f4936b91c9addbf0 tokyo__tokyo-kana__tonokyo.csv\n",
939 | "air_47beaffd3806c979 tokyo__tokyo-kana__tonokyo.csv\n",
940 | "air_edd5e3d696a5811b tokyo__tokyo-kana__tonokyo.csv\n",
941 | "air_6b65745d432fd77f tokyo__tokyo-kana__tonokyo.csv\n",
942 | "air_9bf595ef095572fb tokyo__tokyo-kana__tonokyo.csv\n",
943 | "air_764f71040a413d4d tokyo__tokyo-kana__tonokyo.csv\n",
944 | "air_10bbe8acd943d8f6 tokyo__tokyo-kana__tonokyo.csv\n",
945 | "air_7514d90009613cd6 hokkaido_ishikari__sapporo-katakana__satporo.csv\n",
946 | "air_c8fe396d6c46275d hokkaido_ishikari__sapporo-katakana__satporo.csv\n"
947 | ]
948 | }
949 | ],
950 | "source": [
951 | "calendar_date = []\n",
952 | "low_temperature =[]\n",
953 | "avg_temperature = []\n",
954 | "high_temperature = []\n",
955 | "precipitation = []\n",
956 | "air_id = []\n",
957 | "for i in air_info.air_store_id.values:\n",
958 | " print i,dict1[i] + '.csv'\n",
959 | " k = pd.read_csv('1-1-16_5-31-17_Weather/'+dict1[i] + '.csv')\n",
960 | " for enu,j in enumerate(k.calendar_date.values):\n",
961 | " calendar_date.append(j)\n",
962 | " low_temperature.append(k.low_temperature.values[enu])\n",
963 | " avg_temperature.append(k.avg_temperature.values[enu])\n",
964 | " high_temperature.append(k.high_temperature.values[enu])\n",
965 | " precipitation.append(k.precipitation[enu])\n",
966 | " air_id.append(i)\n",
967 | " \n",
968 | " \n",
969 | " "
970 | ]
971 | },
972 | {
973 | "cell_type": "code",
974 | "execution_count": 8,
975 | "metadata": {
976 | "collapsed": true
977 | },
978 | "outputs": [],
979 | "source": [
980 | "data = pd.DataFrame({'air_store_id':air_id,'precipitation':precipitation,'visit_date':calendar_date,'low_temperature':low_temperature,'avg_temperature':avg_temperature,'high_temperature':high_temperature})"
981 | ]
982 | },
983 | {
984 | "cell_type": "code",
985 | "execution_count": 9,
986 | "metadata": {
987 | "collapsed": true
988 | },
989 | "outputs": [],
990 | "source": [
991 | "data.to_csv('weather_ready_to_use.csv',index = False)"
992 | ]
993 | },
994 | {
995 | "cell_type": "code",
996 | "execution_count": null,
997 | "metadata": {
998 | "collapsed": true
999 | },
1000 | "outputs": [],
1001 | "source": []
1002 | }
1003 | ],
1004 | "metadata": {
1005 | "kernelspec": {
1006 | "display_name": "Python 2",
1007 | "language": "python",
1008 | "name": "python2"
1009 | },
1010 | "language_info": {
1011 | "codemirror_mode": {
1012 | "name": "ipython",
1013 | "version": 2
1014 | },
1015 | "file_extension": ".py",
1016 | "mimetype": "text/x-python",
1017 | "name": "python",
1018 | "nbconvert_exporter": "python",
1019 | "pygments_lexer": "ipython2",
1020 | "version": "2.7.13"
1021 | }
1022 | },
1023 | "nbformat": 4,
1024 | "nbformat_minor": 2
1025 | }
1026 |
--------------------------------------------------------------------------------
/validate_test.py:
--------------------------------------------------------------------------------
1 | import pandas as pd
2 | import numpy as np
3 | from sklearn.linear_model import LogisticRegression
4 | from sklearn.feature_extraction.text import TfidfVectorizer
5 | from sklearn.svm import SVC
6 | from sklearn.decomposition import TruncatedSVD
7 | from sklearn.preprocessing import StandardScaler
8 | from sklearn import decomposition, pipeline, metrics, grid_search
9 | import xgboost as xgb
10 | from sklearn.metrics import mean_squared_error
11 | from sklearn.metrics import roc_auc_score
12 | def runXGB(train_X, train_y, test_X, test_X1, test_y=None, feature_names=None, seed_val=0,depth =8):
13 | params = {}
14 | params["objective"] = "reg:linear"
15 | params['eval_metric'] = 'rmse'
16 | params["eta"] = .01 #0.00334
17 | params["min_child_weight"] = 1
18 | params["subsample"] = 0.7
19 | params["colsample_bytree"] = 0.3
20 | params["silent"] = 1
21 | params["max_depth"] = depth
22 | params["seed"] = seed_val
23 | #params["max_delta_step"] = 2
24 | #params["gamma"] = 0.5
25 | num_rounds = 500 #2500
26 |
27 | plst = list(params.items())
28 | xgtrain = xgb.DMatrix(train_X, label=train_y)
29 |
30 | if test_y is not None:
31 | xgtest = xgb.DMatrix(test_X, label=test_y)
32 | watchlist = [ (xgtrain,'train'), (xgtest, 'test') ]
33 | model = xgb.train(plst, xgtrain, num_rounds, watchlist, early_stopping_rounds= 300)
34 | else:
35 | xgtest = xgb.DMatrix(test_X)
36 | xgtest1 = xgb.DMatrix(test_X1)
37 | model = xgb.train(plst, xgtrain, 4000)
38 |
39 | if feature_names:
40 | create_feature_map(feature_names)
41 | model.dump_model('xgbmodel.txt', 'xgb.fmap', with_stats=True)
42 | importance = model.get_fscore(fmap='xgb.fmap')
43 | importance = sorted(importance.items(), key=operator.itemgetter(1), reverse=True)
44 | imp_df = pd.DataFrame(importance, columns=['feature','fscore'])
45 | imp_df['fscore'] = imp_df['fscore'] / imp_df['fscore'].sum()
46 | imp_df.to_csv("imp_feat.txt", index=False)
47 |
48 | pred_test_y = model.predict(xgtest)
49 | pred_test_y1 = model.predict(xgtest1)
50 | if test_y is not None:
51 | loss = rmsle(np.expm1(test_y), np.expm1(pred_test_y))
52 | return loss
53 | else:
54 | return pred_test_y,pred_test_y1
55 |
56 |
57 | def rmsle(h, y):
58 | """
59 | Compute the Root Mean Squared Log Error for hypthesis h and targets y
60 |
61 | Args:
62 | h - numpy array containing predictions with shape (n_samples, n_targets)
63 | y - numpy array containing targets with shape (n_samples, n_targets)
64 | """
65 | return np.sqrt(np.square(np.log(h + 1) - np.log(y + 1)).mean())
66 | def func1(x):
67 | try:
68 | if pd.isnull(x):
69 | return 0
70 | else:
71 | return len(x)
72 |
73 | except:
74 | return len(x)
75 | def func(x):
76 | try:
77 | if pd.isnull(x):
78 | return -1
79 | else:
80 | return sum(x)
81 | except:
82 | return sum(x)
83 |
84 | def validation(train,test,test1):
85 | weather = pd.read_csv('weather/weather_ready_to_use.csv')
86 | weather['visit_date'] = pd.to_datetime(weather['visit_date'],format= '%Y-%m-%d')
87 | air_reserve = pd.read_csv('air_reserve.csv')
88 | hpg_reserve = pd.read_csv('hpg_reserve.csv')
89 | hpg_store_info = pd.read_csv('hpg_store_info.csv')
90 | air_store_info = pd.read_csv('air_store_info.csv')
91 | air_tf = list(air_store_info.apply(lambda x:'%s %s' % (x['air_area_name'],x['air_genre_name']),axis=1))
92 | tfv = TfidfVectorizer(min_df=3, max_features=None,
93 | strip_accents='unicode', analyzer='word',token_pattern=r'\w{1,}',
94 | ngram_range=(1, 5), use_idf=1,smooth_idf=1,sublinear_tf=1,
95 | stop_words = 'english')
96 | tfv.fit(air_tf)
97 |
98 | air_visit_data = train.copy()
99 | sample_submission = test.copy()
100 | sample_submission1 = test1.copy()
101 |
102 | sample_submission['visit_date'] = pd.to_datetime(sample_submission['visit_date'],format= '%Y-%m-%d')
103 | air_visit_data = air_visit_data.merge(air_store_info,how = 'left',on= 'air_store_id')
104 | sample_submission = sample_submission.merge(air_store_info,how = 'left',on= 'air_store_id')
105 | air_visit_data['visit_date'] = pd.to_datetime(air_visit_data['visit_date'],format= '%Y-%m-%d')
106 |
107 | sample_submission1['air_store_id'] = sample_submission1['id'].apply(lambda x: x.split('_')[0]+str('_') +x.split('_')[1])
108 | sample_submission1['visit_date'] = sample_submission1['id'].apply(lambda x: x.split('_')[2])
109 | sample_submission1['visit_date'] = pd.to_datetime(sample_submission1['visit_date'],format= '%Y-%m-%d %H:%M:%S')
110 | sample_submission1 = sample_submission1.merge(air_store_info,how = 'left',on= 'air_store_id')
111 |
112 |
113 |
114 | air_visit_data.shape,sample_submission.shape
115 | air_reserve['visit_datetime'] = pd.to_datetime(air_reserve['visit_datetime'],format= '%Y-%m-%d %H:%M:%S')
116 | air_reserve['visit_date'] = air_reserve.visit_datetime.apply(lambda x: str(x).split(' ')[0])
117 | air_reserve['visit_date'] = pd.to_datetime(air_reserve['visit_date'],format= '%Y-%m-%d %H:%M:%S')
118 | hpg_reserve['visit_datetime'] = pd.to_datetime(hpg_reserve['visit_datetime'],format= '%Y-%m-%d %H:%M:%S')
119 | hpg_reserve['visit_date'] = hpg_reserve.visit_datetime.apply(lambda x: str(x).split(' ')[0])
120 | hpg_reserve['visit_date'] = pd.to_datetime(hpg_reserve['visit_date'],format= '%Y-%m-%d %H:%M:%S')
121 |
122 |
123 |
124 |
125 | for i in ['reserve_datetime','reserve_visitors']:
126 | k = air_reserve[[i,'visit_date','air_store_id']].groupby(['visit_date','air_store_id'])[i].apply(lambda x: x.tolist()).reset_index()
127 | name = i + 'list'
128 | if i == 'reserve_datetime':
129 | k1 = k.copy()
130 | else:
131 | k1[name] = k[i].copy()
132 |
133 | air_visit_data = air_visit_data.merge(k1,on=['air_store_id','visit_date'],how = 'left')
134 | sample_submission = sample_submission.merge(k1,on=['air_store_id','visit_date'],how = 'left')
135 | sample_submission1 = sample_submission1.merge(k1,on=['air_store_id','visit_date'],how = 'left')
136 |
137 | air_visit_data['visit_date_month'] =air_visit_data.visit_date.dt.month
138 | air_visit_data['visit_date_dayofw'] =air_visit_data.visit_date.dt.dayofweek
139 | air_visit_data['visit_date_year'] =air_visit_data.visit_date.dt.year
140 | air_visit_data['visit_date_dayofm'] =air_visit_data.visit_date.dt.day
141 | sample_submission['visit_date_month'] =sample_submission.visit_date.dt.month
142 | sample_submission['visit_date_dayofw'] =sample_submission.visit_date.dt.dayofweek
143 | sample_submission['visit_date_year'] =sample_submission.visit_date.dt.year
144 | sample_submission['visit_date_dayofm'] =sample_submission.visit_date.dt.day
145 |
146 | sample_submission1['visit_date_month'] =sample_submission1.visit_date.dt.month
147 | sample_submission1['visit_date_dayofw'] =sample_submission1.visit_date.dt.dayofweek
148 | sample_submission1['visit_date_year'] =sample_submission1.visit_date.dt.year
149 | sample_submission1['visit_date_dayofm'] =sample_submission1.visit_date.dt.day
150 |
151 |
152 |
153 | air_visit_data['total_reserve']= air_visit_data['reserve_visitorslist'].apply(func)
154 | air_visit_data['numb_total_reserve'] = air_visit_data['reserve_visitorslist'].apply(func1)
155 | sample_submission['total_reserve']= sample_submission['reserve_visitorslist'].apply(func)
156 | sample_submission['numb_total_reserve'] = sample_submission['reserve_visitorslist'].apply(func1)
157 | sample_submission1['total_reserve']= sample_submission1['reserve_visitorslist'].apply(func)
158 | sample_submission1['numb_total_reserve'] = sample_submission1['reserve_visitorslist'].apply(func1)
159 |
160 |
161 |
162 | k = [i for i in air_visit_data.columns if i in sample_submission.columns]
163 | train = air_visit_data.copy()
164 | test = sample_submission.copy()
165 | test1 = sample_submission1.copy()
166 |
167 | train1 = train.loc[(train.visit_date_year>=2017)].copy()
168 | k1 = train1[['visitors','air_store_id']].groupby('air_store_id').agg('mean').reset_index()
169 | k1.columns = ['air_store_id','mean_visitors']
170 | k2 = train1[['visitors','air_store_id']].groupby('air_store_id').agg('median').reset_index()
171 | k2.columns = ['air_store_id','median_visitors']
172 | k3 = train[['visitors','air_store_id','visit_date_month']].groupby(['air_store_id','visit_date_month']).agg('mean').reset_index()
173 | k3.columns = ['air_store_id','visit_date_month','mean_visitors1']
174 | k4 = train[['visitors','visit_date_month']].groupby(['visit_date_month']).agg('mean').reset_index()
175 | k4.columns = ['visit_date_month','mean_visitors2']
176 | k5 = train1[['visitors','air_store_id','visit_date_dayofw']].groupby(['air_store_id','visit_date_dayofw']).agg('mean').reset_index()
177 | k5.columns = ['air_store_id','visit_date_dayofw','mean_visitors3']
178 | k6 = train1[['visitors','visit_date_dayofw']].groupby(['visit_date_dayofw']).agg('mean').reset_index()
179 | k6.columns = ['visit_date_dayofw','mean_visitors4']
180 | k7 = train[['visitors','visit_date_month']].groupby(['visit_date_month']).agg('median').reset_index()
181 | k7.columns = ['visit_date_month','median_visitors2']
182 | k8 = train1[['visitors','air_store_id','visit_date_dayofw']].groupby(['air_store_id','visit_date_dayofw']).agg('median').reset_index()
183 | k8.columns = ['air_store_id','visit_date_dayofw','median_visitors3']
184 | k9 = train1[['visitors','visit_date_dayofw']].groupby(['visit_date_dayofw']).agg('median').reset_index()
185 | k9.columns = ['visit_date_dayofw','median_visitors4']
186 | k10 = train[['visitors','air_store_id']].groupby('air_store_id').agg('mean').reset_index()
187 | k10.columns = ['air_store_id','mean_visitors_f']
188 | k11 = train[['visitors','air_store_id','visit_date_dayofw']].groupby(['air_store_id','visit_date_dayofw']).agg('mean').reset_index()
189 | k11.columns = ['air_store_id','visit_date_dayofw','mean_visitors3_f']
190 | k12 = train[['visitors','visit_date_dayofw']].groupby(['visit_date_dayofw']).agg('mean').reset_index()
191 | k12.columns = ['visit_date_dayofw','mean_visitors4_f']
192 | train = air_visit_data.copy()
193 | test = sample_submission.copy()
194 | test1 = sample_submission1.copy()
195 |
196 |
197 | y = train.visitors.values
198 | print (test1.columns)
199 | train = train[k]
200 | test = test[k]
201 | test1 = test1[k]
202 |
203 | train = train.merge(k1,on='air_store_id',how='left')
204 | test = test.merge(k1,on='air_store_id',how='left')
205 | test1 = test1.merge(k1,on='air_store_id',how='left')
206 |
207 | train = train.merge(k2,on='air_store_id',how='left')
208 | test = test.merge(k2,on='air_store_id',how='left')
209 | test1 = test1.merge(k2,on='air_store_id',how='left')
210 |
211 | train = train.merge(k3,on=['air_store_id','visit_date_month'],how='left')
212 | test = test.merge(k3,on= ['air_store_id','visit_date_month'],how='left')
213 | test1 = test1.merge(k3,on= ['air_store_id','visit_date_month'],how='left')
214 |
215 | train = train.merge(k4,on=['visit_date_month'],how='left')
216 | test = test.merge(k4,on= ['visit_date_month'],how='left')
217 | test1 = test1.merge(k4,on= ['visit_date_month'],how='left')
218 |
219 | train = train.merge(k5,on=['air_store_id','visit_date_dayofw'],how='left')
220 | test = test.merge(k5,on= ['air_store_id','visit_date_dayofw'],how='left')
221 | test1 = test1.merge(k5,on= ['air_store_id','visit_date_dayofw'],how='left')
222 |
223 | train = train.merge(k6,on=['visit_date_dayofw'],how='left')
224 | test = test.merge(k6,on= ['visit_date_dayofw'],how='left')
225 | test1 = test1.merge(k6,on= ['visit_date_dayofw'],how='left')
226 |
227 |
228 | train = train.merge(k7,on=['visit_date_month'],how='left')
229 | test = test.merge(k7,on= ['visit_date_month'],how='left')
230 | test1 = test1.merge(k7,on= ['visit_date_month'],how='left')
231 |
232 | train = train.merge(k8,on=['air_store_id','visit_date_dayofw'],how='left')
233 | test = test.merge(k8,on= ['air_store_id','visit_date_dayofw'],how='left')
234 | test1 = test1.merge(k8,on= ['air_store_id','visit_date_dayofw'],how='left')
235 |
236 | train = train.merge(k9,on=['visit_date_dayofw'],how='left')
237 | test = test.merge(k9,on= ['visit_date_dayofw'],how='left')
238 | test1 = test1.merge(k9,on= ['visit_date_dayofw'],how='left')
239 |
240 | train = train.merge(k10,on=['air_store_id'],how='left')
241 | test = test.merge(k10,on= ['air_store_id'],how='left')
242 | test1 = test1.merge(k10,on= ['air_store_id'],how='left')
243 |
244 |
245 | train = train.merge(k11,on=['air_store_id','visit_date_dayofw'],how='left')
246 | test = test.merge(k11,on= ['air_store_id','visit_date_dayofw'],how='left')
247 | test1 = test1.merge(k11,on= ['air_store_id','visit_date_dayofw'],how='left')
248 |
249 | train = train.merge(k12,on=['visit_date_dayofw'],how='left')
250 | test = test.merge(k12,on= ['visit_date_dayofw'],how='left')
251 | test1 = test1.merge(k12,on= ['visit_date_dayofw'],how='left')
252 |
253 | date_info = pd.read_csv('date_info.csv')
254 | date_info['calendar_date'] = pd.to_datetime(date_info['calendar_date'],format= '%Y-%m-%d')
255 | date_info.rename(columns = {'calendar_date':'visit_date'},inplace = True)
256 | wkend_holidays = date_info.apply((lambda x:(x.day_of_week=='Sunday' or x.day_of_week=='Saturday') and x.holiday_flg==1), axis=1)
257 | date_info.loc[wkend_holidays, 'holiday_flg'] = 0
258 | date_info['weight'] = ((date_info.index + 1.0) / len(date_info)) ** 5.0
259 | train = train.merge(date_info,on='visit_date',how='left')
260 | test = test.merge(date_info,on='visit_date',how='left')
261 | test1 = test1.merge(date_info,on='visit_date',how='left')
262 | relation = pd.read_csv('store_id_relation.csv')
263 | relation['both'] = 1
264 |
265 | train = train.merge(relation,how='left',on='air_store_id')
266 | test = test.merge(relation,how='left',on='air_store_id')
267 | test1 = test1.merge(relation,how='left',on='air_store_id')
268 |
269 | train = train.merge(hpg_store_info,how='left',on='hpg_store_id')
270 | test = test.merge(hpg_store_info,how='left',on='hpg_store_id')
271 | test1 = test1.merge(hpg_store_info,how='left',on='hpg_store_id')
272 |
273 | train = train.merge(weather,on=['air_store_id','visit_date'],how='left')
274 | test = test.merge(weather,on= ['air_store_id','visit_date'],how='left')
275 | test1 = test1.merge(weather,on= ['air_store_id','visit_date'],how='left')
276 |
277 | train_tf = list(train.apply(lambda x:'%s %s' % (x['air_area_name'],x['air_genre_name']),axis=1))
278 | test_tf = list(test.apply(lambda x:'%s %s' % (x['air_area_name'],x['air_genre_name']),axis=1))
279 | test1_tf = list(test1.apply(lambda x:'%s %s' % (x['air_area_name'],x['air_genre_name']),axis=1))
280 |
281 | train_tf_vec = tfv.transform(train_tf)
282 | test_tf_vec = tfv.transform(test_tf)
283 | test1_tf_vec = tfv.transform(test1_tf)
284 |
285 |
286 | svd = TruncatedSVD(n_components=50, n_iter=7, random_state=42)
287 | svd.fit(train_tf_vec)
288 | train_tf_vec = svd.transform(train_tf_vec)
289 | test_tf_vec = svd.transform(test_tf_vec)
290 | test1_tf_vec = svd.transform(test1_tf_vec)
291 |
292 |
293 |
294 | train_tf_vec = pd.DataFrame(train_tf_vec)
295 | test_tf_vec = pd.DataFrame(test_tf_vec)
296 | test1_tf_vec = pd.DataFrame(test1_tf_vec)
297 |
298 | train = train.drop(['hpg_area_name','hpg_genre_name','reserve_visitorslist','reserve_datetime','visit_date'],axis =1)
299 | test = test.drop(['hpg_area_name','hpg_genre_name','reserve_visitorslist','reserve_datetime','visit_date'],axis =1)
300 | test1 = test1.drop(['hpg_area_name','hpg_genre_name','reserve_visitorslist','reserve_datetime','visit_date'],axis =1)
301 |
302 |
303 | from sklearn import ensemble, preprocessing
304 | from sklearn.preprocessing import StandardScaler
305 | from sklearn.cluster import KMeans
306 | train.replace(np.nan,-1,inplace=True)
307 | test.replace(np.nan,-1,inplace=True)
308 | text_columns = []
309 | for f in train.columns:
310 | if train[f].dtype == 'object':
311 | text_columns.append(f)
312 | lbl = preprocessing.LabelEncoder()
313 | lbl.fit(list(train[f].values) + list(test[f].values)+list(test1[f].values))
314 | train[f] = lbl.transform(list(train[f].values))
315 | test[f] = lbl.transform(list(test[f].values))
316 | test1[f] = lbl.transform(list(test1[f].values))
317 | train = pd.concat((train,train_tf_vec),axis=1)
318 | test = pd.concat((test,test_tf_vec),axis=1)
319 | test1 = pd.concat((test1,test1_tf_vec),axis=1)
320 |
321 | train.replace(np.nan,-1,inplace=True)
322 | test.replace(np.nan,-1,inplace=True)
323 | test1.replace(np.nan,-1,inplace=True)
324 |
325 | y1 = np.log1p(y+1)
326 | pred1,pred2 = runXGB(train,y1, test,test1,depth = 8)
327 | p= np.expm1(pred1)-1
328 | p[p<0] = 0
329 | p1= np.expm1(pred2)-1
330 | p1[p1<0] = 0
331 |
332 | return p,p1
333 |
334 | if __name__ == "__main__":
335 | met = []
336 | train = pd.read_csv('air_visit_data.csv')
337 | test = pd.read_csv('sample_submission.csv')
338 | train['visit_date'] = pd.to_datetime(train['visit_date'],format= '%Y-%m-%d')
339 | k = train.loc[train.visit_date > pd.to_datetime('2017-04-01',format= '%Y-%m-%d'),'visit_date'].values
340 | t = len(np.unique(k))
341 | print t
342 | for i in range(0,t):
343 | print i
344 | o = pd.to_datetime('2017-04-01',format= '%Y-%m-%d') + pd.DateOffset(i)
345 | ind1 = train.loc[train.visit_date <= o].index
346 | ind2 = train.loc[train.visit_date > o].index
347 | X_train = train.iloc[ind1]
348 | X_test = train.iloc[ind2]
349 | test_y = X_test.visitors.values
350 | X_test = X_test.drop('visitors',axis=1)
351 | pred_test_y,pred_test_y1 = validation(X_train.copy(),X_test.copy(),test.copy())
352 | e = rmsle(test_y, pred_test_y)
353 | test[str(i)] = pred_test_y1
354 | print e
355 | met.append(e)
356 | print ("mean for whole",np.mean(met))
357 | test.to_csv('21_day_op.csv',index = False)
358 |
359 |
360 | """
361 | 23
362 | 0
363 | 1.2425517037
364 | 1
365 | 1.27272414297
366 | 2
367 | 0.632099078805
368 | 3
369 | 0.578458950094
370 | 4
371 | 0.530093638095
372 | 5
373 | 0.511066750225
374 | 6
375 | 0.500868601162
376 | 7
377 | 0.49396321709
378 | 8
379 | 0.483424149459
380 | 9
381 | 0.484540962603
382 | 10
383 | 0.483221479301
384 | 11
385 | 0.47933288407
386 | 12
387 | 0.472528277756
388 | 13
389 | 0.468189920585
390 | 14
391 | 0.466281831745
392 | 15
393 | 0.467318196308
394 | 16
395 | 0.469043437379
396 | 17
397 | 0.467006140899
398 | 18
399 | 0.46204094153
400 | 19
401 | 0.446112252412
402 | 20
403 | 0.440478157546
404 | 21
405 | 0.417091892638
406 | 22
407 | 0.443950912361
408 | ('mean for whole', 0.55271250081449952)
409 | """
410 |
411 |
412 |
413 |
414 |
415 |
416 |
--------------------------------------------------------------------------------