--- 20220523/pyplot.ipynb
+++ 20220523/pyplot.ipynb
... | ... | @@ -621,9 +621,9 @@ |
621 | 621 |
], |
622 | 622 |
"source": [ |
623 | 623 |
"plt.figure(figsize=(10, 6))\n", |
624 |
- "box1 = plt.boxplot(s1, positions=[1])\n", |
|
625 |
- "box2 = plt.boxplot(s2, positions=[2])\n", |
|
626 |
- "box3 = plt.boxplot(s3, positions=[3])\n", |
|
624 |
+ "box1 = plt.boxplot(s1, positions=[1], notch=True, patch_ari)\n", |
|
625 |
+ "box2 = plt.boxplot(s2, positions=[2], notch=True, )\n", |
|
626 |
+ "box3 = plt.boxplot(s3, positions=[3], notch=True, )\n", |
|
627 | 627 |
"plt.grid()\n", |
628 | 628 |
"plt.show()" |
629 | 629 |
] |
+++ 20220530/.ipynb_checkpoints/cctv-checkpoint.ipynb
... | ... | @@ -0,0 +1,1572 @@ |
1 | +{ | |
2 | + "cells": [ | |
3 | + { | |
4 | + "cell_type": "code", | |
5 | + "execution_count": 16, | |
6 | + "id": "55e4cb48", | |
7 | + "metadata": {}, | |
8 | + "outputs": [], | |
9 | + "source": [ | |
10 | + "import pandas as pd\n", | |
11 | + "import numpy as np\n", | |
12 | + "import matplotlib.pyplot as plt" | |
13 | + ] | |
14 | + }, | |
15 | + { | |
16 | + "cell_type": "code", | |
17 | + "execution_count": 17, | |
18 | + "id": "f9691b90", | |
19 | + "metadata": { | |
20 | + "scrolled": true | |
21 | + }, | |
22 | + "outputs": [ | |
23 | + { | |
24 | + "data": { | |
25 | + "text/html": [ | |
26 | + "<div>\n", | |
27 | + "<style scoped>\n", | |
28 | + " .dataframe tbody tr th:only-of-type {\n", | |
29 | + " vertical-align: middle;\n", | |
30 | + " }\n", | |
31 | + "\n", | |
32 | + " .dataframe tbody tr th {\n", | |
33 | + " vertical-align: top;\n", | |
34 | + " }\n", | |
35 | + "\n", | |
36 | + " .dataframe thead th {\n", | |
37 | + " text-align: right;\n", | |
38 | + " }\n", | |
39 | + "</style>\n", | |
40 | + "<table border=\"1\" class=\"dataframe\">\n", | |
41 | + " <thead>\n", | |
42 | + " <tr style=\"text-align: right;\">\n", | |
43 | + " <th></th>\n", | |
44 | + " <th>총계</th>\n", | |
45 | + " <th>2012년 이전</th>\n", | |
46 | + " <th>2012년</th>\n", | |
47 | + " <th>2013년</th>\n", | |
48 | + " <th>2014년</th>\n", | |
49 | + " <th>2015년</th>\n", | |
50 | + " <th>2016년</th>\n", | |
51 | + " <th>2017년</th>\n", | |
52 | + " <th>2018년</th>\n", | |
53 | + " <th>2019년</th>\n", | |
54 | + " <th>2020년</th>\n", | |
55 | + " <th>2021년</th>\n", | |
56 | + " </tr>\n", | |
57 | + " <tr>\n", | |
58 | + " <th>구분</th>\n", | |
59 | + " <th></th>\n", | |
60 | + " <th></th>\n", | |
61 | + " <th></th>\n", | |
62 | + " <th></th>\n", | |
63 | + " <th></th>\n", | |
64 | + " <th></th>\n", | |
65 | + " <th></th>\n", | |
66 | + " <th></th>\n", | |
67 | + " <th></th>\n", | |
68 | + " <th></th>\n", | |
69 | + " <th></th>\n", | |
70 | + " <th></th>\n", | |
71 | + " </tr>\n", | |
72 | + " </thead>\n", | |
73 | + " <tbody>\n", | |
74 | + " <tr>\n", | |
75 | + " <th>계</th>\n", | |
76 | + " <td>83,557</td>\n", | |
77 | + " <td>4,812</td>\n", | |
78 | + " <td>1,851</td>\n", | |
79 | + " <td>3,434</td>\n", | |
80 | + " <td>4,295</td>\n", | |
81 | + " <td>6,840</td>\n", | |
82 | + " <td>8,708</td>\n", | |
83 | + " <td>11,572</td>\n", | |
84 | + " <td>10,627</td>\n", | |
85 | + " <td>12,267</td>\n", | |
86 | + " <td>11,247</td>\n", | |
87 | + " <td>7,904</td>\n", | |
88 | + " </tr>\n", | |
89 | + " <tr>\n", | |
90 | + " <th>종로구</th>\n", | |
91 | + " <td>1,715</td>\n", | |
92 | + " <td>815</td>\n", | |
93 | + " <td>NaN</td>\n", | |
94 | + " <td>NaN</td>\n", | |
95 | + " <td>195</td>\n", | |
96 | + " <td>150</td>\n", | |
97 | + " <td>0</td>\n", | |
98 | + " <td>261</td>\n", | |
99 | + " <td>85</td>\n", | |
100 | + " <td>9</td>\n", | |
101 | + " <td>200</td>\n", | |
102 | + " <td>0</td>\n", | |
103 | + " </tr>\n", | |
104 | + " <tr>\n", | |
105 | + " <th>중구</th>\n", | |
106 | + " <td>2,447</td>\n", | |
107 | + " <td>16</td>\n", | |
108 | + " <td>114</td>\n", | |
109 | + " <td>87</td>\n", | |
110 | + " <td>77</td>\n", | |
111 | + " <td>236</td>\n", | |
112 | + " <td>240</td>\n", | |
113 | + " <td>372</td>\n", | |
114 | + " <td>386</td>\n", | |
115 | + " <td>155</td>\n", | |
116 | + " <td>361</td>\n", | |
117 | + " <td>403</td>\n", | |
118 | + " </tr>\n", | |
119 | + " <tr>\n", | |
120 | + " <th>용산구</th>\n", | |
121 | + " <td>2,611</td>\n", | |
122 | + " <td>34</td>\n", | |
123 | + " <td>71</td>\n", | |
124 | + " <td>234</td>\n", | |
125 | + " <td>125</td>\n", | |
126 | + " <td>221</td>\n", | |
127 | + " <td>298</td>\n", | |
128 | + " <td>351</td>\n", | |
129 | + " <td>125</td>\n", | |
130 | + " <td>307</td>\n", | |
131 | + " <td>617</td>\n", | |
132 | + " <td>228</td>\n", | |
133 | + " </tr>\n", | |
134 | + " <tr>\n", | |
135 | + " <th>성동구</th>\n", | |
136 | + " <td>3,829</td>\n", | |
137 | + " <td>163</td>\n", | |
138 | + " <td>144</td>\n", | |
139 | + " <td>208</td>\n", | |
140 | + " <td>107</td>\n", | |
141 | + " <td>325</td>\n", | |
142 | + " <td>255</td>\n", | |
143 | + " <td>967</td>\n", | |
144 | + " <td>415</td>\n", | |
145 | + " <td>490</td>\n", | |
146 | + " <td>472</td>\n", | |
147 | + " <td>283</td>\n", | |
148 | + " </tr>\n", | |
149 | + " </tbody>\n", | |
150 | + "</table>\n", | |
151 | + "</div>" | |
152 | + ], | |
153 | + "text/plain": [ | |
154 | + " 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
155 | + "구분 \n", | |
156 | + "계 83,557 4,812 1,851 3,434 4,295 6,840 8,708 11,572 10,627 \n", | |
157 | + "종로구 1,715 815 NaN NaN 195 150 0 261 85 \n", | |
158 | + "중구 2,447 16 114 87 77 236 240 372 386 \n", | |
159 | + "용산구 2,611 34 71 234 125 221 298 351 125 \n", | |
160 | + "성동구 3,829 163 144 208 107 325 255 967 415 \n", | |
161 | + "\n", | |
162 | + " 2019년 2020년 2021년 \n", | |
163 | + "구분 \n", | |
164 | + "계 12,267 11,247 7,904 \n", | |
165 | + "종로구 9 200 0 \n", | |
166 | + "중구 155 361 403 \n", | |
167 | + "용산구 307 617 228 \n", | |
168 | + "성동구 490 472 283 " | |
169 | + ] | |
170 | + }, | |
171 | + "execution_count": 17, | |
172 | + "metadata": {}, | |
173 | + "output_type": "execute_result" | |
174 | + } | |
175 | + ], | |
176 | + "source": [ | |
177 | + "cctvData = pd.read_csv('./seoul_cctv_202112.csv', encoding='cp949', skiprows=1, index_col='구분')\n", | |
178 | + "cctvData.head()" | |
179 | + ] | |
180 | + }, | |
181 | + { | |
182 | + "cell_type": "code", | |
183 | + "execution_count": 18, | |
184 | + "id": "8184defd", | |
185 | + "metadata": { | |
186 | + "scrolled": true | |
187 | + }, | |
188 | + "outputs": [ | |
189 | + { | |
190 | + "data": { | |
191 | + "text/html": [ | |
192 | + "<div>\n", | |
193 | + "<style scoped>\n", | |
194 | + " .dataframe tbody tr th:only-of-type {\n", | |
195 | + " vertical-align: middle;\n", | |
196 | + " }\n", | |
197 | + "\n", | |
198 | + " .dataframe tbody tr th {\n", | |
199 | + " vertical-align: top;\n", | |
200 | + " }\n", | |
201 | + "\n", | |
202 | + " .dataframe thead th {\n", | |
203 | + " text-align: right;\n", | |
204 | + " }\n", | |
205 | + "</style>\n", | |
206 | + "<table border=\"1\" class=\"dataframe\">\n", | |
207 | + " <thead>\n", | |
208 | + " <tr style=\"text-align: right;\">\n", | |
209 | + " <th></th>\n", | |
210 | + " <th>총계</th>\n", | |
211 | + " <th>2012년 이전</th>\n", | |
212 | + " <th>2012년</th>\n", | |
213 | + " <th>2013년</th>\n", | |
214 | + " <th>2014년</th>\n", | |
215 | + " <th>2015년</th>\n", | |
216 | + " <th>2016년</th>\n", | |
217 | + " <th>2017년</th>\n", | |
218 | + " <th>2018년</th>\n", | |
219 | + " <th>2019년</th>\n", | |
220 | + " <th>2020년</th>\n", | |
221 | + " <th>2021년</th>\n", | |
222 | + " </tr>\n", | |
223 | + " <tr>\n", | |
224 | + " <th>구분</th>\n", | |
225 | + " <th></th>\n", | |
226 | + " <th></th>\n", | |
227 | + " <th></th>\n", | |
228 | + " <th></th>\n", | |
229 | + " <th></th>\n", | |
230 | + " <th></th>\n", | |
231 | + " <th></th>\n", | |
232 | + " <th></th>\n", | |
233 | + " <th></th>\n", | |
234 | + " <th></th>\n", | |
235 | + " <th></th>\n", | |
236 | + " <th></th>\n", | |
237 | + " </tr>\n", | |
238 | + " </thead>\n", | |
239 | + " <tbody>\n", | |
240 | + " <tr>\n", | |
241 | + " <th>종로구</th>\n", | |
242 | + " <td>1,715</td>\n", | |
243 | + " <td>815</td>\n", | |
244 | + " <td>NaN</td>\n", | |
245 | + " <td>NaN</td>\n", | |
246 | + " <td>195</td>\n", | |
247 | + " <td>150</td>\n", | |
248 | + " <td>0</td>\n", | |
249 | + " <td>261</td>\n", | |
250 | + " <td>85</td>\n", | |
251 | + " <td>9</td>\n", | |
252 | + " <td>200</td>\n", | |
253 | + " <td>0</td>\n", | |
254 | + " </tr>\n", | |
255 | + " <tr>\n", | |
256 | + " <th>중구</th>\n", | |
257 | + " <td>2,447</td>\n", | |
258 | + " <td>16</td>\n", | |
259 | + " <td>114</td>\n", | |
260 | + " <td>87</td>\n", | |
261 | + " <td>77</td>\n", | |
262 | + " <td>236</td>\n", | |
263 | + " <td>240</td>\n", | |
264 | + " <td>372</td>\n", | |
265 | + " <td>386</td>\n", | |
266 | + " <td>155</td>\n", | |
267 | + " <td>361</td>\n", | |
268 | + " <td>403</td>\n", | |
269 | + " </tr>\n", | |
270 | + " <tr>\n", | |
271 | + " <th>용산구</th>\n", | |
272 | + " <td>2,611</td>\n", | |
273 | + " <td>34</td>\n", | |
274 | + " <td>71</td>\n", | |
275 | + " <td>234</td>\n", | |
276 | + " <td>125</td>\n", | |
277 | + " <td>221</td>\n", | |
278 | + " <td>298</td>\n", | |
279 | + " <td>351</td>\n", | |
280 | + " <td>125</td>\n", | |
281 | + " <td>307</td>\n", | |
282 | + " <td>617</td>\n", | |
283 | + " <td>228</td>\n", | |
284 | + " </tr>\n", | |
285 | + " <tr>\n", | |
286 | + " <th>성동구</th>\n", | |
287 | + " <td>3,829</td>\n", | |
288 | + " <td>163</td>\n", | |
289 | + " <td>144</td>\n", | |
290 | + " <td>208</td>\n", | |
291 | + " <td>107</td>\n", | |
292 | + " <td>325</td>\n", | |
293 | + " <td>255</td>\n", | |
294 | + " <td>967</td>\n", | |
295 | + " <td>415</td>\n", | |
296 | + " <td>490</td>\n", | |
297 | + " <td>472</td>\n", | |
298 | + " <td>283</td>\n", | |
299 | + " </tr>\n", | |
300 | + " <tr>\n", | |
301 | + " <th>광진구</th>\n", | |
302 | + " <td>3,211</td>\n", | |
303 | + " <td>35</td>\n", | |
304 | + " <td>57</td>\n", | |
305 | + " <td>100</td>\n", | |
306 | + " <td>187</td>\n", | |
307 | + " <td>98</td>\n", | |
308 | + " <td>52</td>\n", | |
309 | + " <td>675</td>\n", | |
310 | + " <td>465</td>\n", | |
311 | + " <td>712</td>\n", | |
312 | + " <td>175</td>\n", | |
313 | + " <td>655</td>\n", | |
314 | + " </tr>\n", | |
315 | + " </tbody>\n", | |
316 | + "</table>\n", | |
317 | + "</div>" | |
318 | + ], | |
319 | + "text/plain": [ | |
320 | + " 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 2019년 2020년 \\\n", | |
321 | + "구분 \n", | |
322 | + "종로구 1,715 815 NaN NaN 195 150 0 261 85 9 200 \n", | |
323 | + "중구 2,447 16 114 87 77 236 240 372 386 155 361 \n", | |
324 | + "용산구 2,611 34 71 234 125 221 298 351 125 307 617 \n", | |
325 | + "성동구 3,829 163 144 208 107 325 255 967 415 490 472 \n", | |
326 | + "광진구 3,211 35 57 100 187 98 52 675 465 712 175 \n", | |
327 | + "\n", | |
328 | + " 2021년 \n", | |
329 | + "구분 \n", | |
330 | + "종로구 0 \n", | |
331 | + "중구 403 \n", | |
332 | + "용산구 228 \n", | |
333 | + "성동구 283 \n", | |
334 | + "광진구 655 " | |
335 | + ] | |
336 | + }, | |
337 | + "execution_count": 18, | |
338 | + "metadata": {}, | |
339 | + "output_type": "execute_result" | |
340 | + } | |
341 | + ], | |
342 | + "source": [ | |
343 | + "cctvData.drop('계', inplace=True)\n", | |
344 | + "cctvData.head()" | |
345 | + ] | |
346 | + }, | |
347 | + { | |
348 | + "cell_type": "code", | |
349 | + "execution_count": 19, | |
350 | + "id": "11fb1d65", | |
351 | + "metadata": {}, | |
352 | + "outputs": [ | |
353 | + { | |
354 | + "data": { | |
355 | + "text/html": [ | |
356 | + "<div>\n", | |
357 | + "<style scoped>\n", | |
358 | + " .dataframe tbody tr th:only-of-type {\n", | |
359 | + " vertical-align: middle;\n", | |
360 | + " }\n", | |
361 | + "\n", | |
362 | + " .dataframe tbody tr th {\n", | |
363 | + " vertical-align: top;\n", | |
364 | + " }\n", | |
365 | + "\n", | |
366 | + " .dataframe thead th {\n", | |
367 | + " text-align: right;\n", | |
368 | + " }\n", | |
369 | + "</style>\n", | |
370 | + "<table border=\"1\" class=\"dataframe\">\n", | |
371 | + " <thead>\n", | |
372 | + " <tr style=\"text-align: right;\">\n", | |
373 | + " <th></th>\n", | |
374 | + " <th>구분</th>\n", | |
375 | + " <th>총계</th>\n", | |
376 | + " <th>2012년 이전</th>\n", | |
377 | + " <th>2012년</th>\n", | |
378 | + " <th>2013년</th>\n", | |
379 | + " <th>2014년</th>\n", | |
380 | + " <th>2015년</th>\n", | |
381 | + " <th>2016년</th>\n", | |
382 | + " <th>2017년</th>\n", | |
383 | + " <th>2018년</th>\n", | |
384 | + " <th>2019년</th>\n", | |
385 | + " <th>2020년</th>\n", | |
386 | + " <th>2021년</th>\n", | |
387 | + " </tr>\n", | |
388 | + " </thead>\n", | |
389 | + " <tbody>\n", | |
390 | + " <tr>\n", | |
391 | + " <th>0</th>\n", | |
392 | + " <td>종로구</td>\n", | |
393 | + " <td>1,715</td>\n", | |
394 | + " <td>815</td>\n", | |
395 | + " <td>NaN</td>\n", | |
396 | + " <td>NaN</td>\n", | |
397 | + " <td>195</td>\n", | |
398 | + " <td>150</td>\n", | |
399 | + " <td>0</td>\n", | |
400 | + " <td>261</td>\n", | |
401 | + " <td>85</td>\n", | |
402 | + " <td>9</td>\n", | |
403 | + " <td>200</td>\n", | |
404 | + " <td>0</td>\n", | |
405 | + " </tr>\n", | |
406 | + " <tr>\n", | |
407 | + " <th>1</th>\n", | |
408 | + " <td>중구</td>\n", | |
409 | + " <td>2,447</td>\n", | |
410 | + " <td>16</td>\n", | |
411 | + " <td>114</td>\n", | |
412 | + " <td>87</td>\n", | |
413 | + " <td>77</td>\n", | |
414 | + " <td>236</td>\n", | |
415 | + " <td>240</td>\n", | |
416 | + " <td>372</td>\n", | |
417 | + " <td>386</td>\n", | |
418 | + " <td>155</td>\n", | |
419 | + " <td>361</td>\n", | |
420 | + " <td>403</td>\n", | |
421 | + " </tr>\n", | |
422 | + " <tr>\n", | |
423 | + " <th>2</th>\n", | |
424 | + " <td>용산구</td>\n", | |
425 | + " <td>2,611</td>\n", | |
426 | + " <td>34</td>\n", | |
427 | + " <td>71</td>\n", | |
428 | + " <td>234</td>\n", | |
429 | + " <td>125</td>\n", | |
430 | + " <td>221</td>\n", | |
431 | + " <td>298</td>\n", | |
432 | + " <td>351</td>\n", | |
433 | + " <td>125</td>\n", | |
434 | + " <td>307</td>\n", | |
435 | + " <td>617</td>\n", | |
436 | + " <td>228</td>\n", | |
437 | + " </tr>\n", | |
438 | + " <tr>\n", | |
439 | + " <th>3</th>\n", | |
440 | + " <td>성동구</td>\n", | |
441 | + " <td>3,829</td>\n", | |
442 | + " <td>163</td>\n", | |
443 | + " <td>144</td>\n", | |
444 | + " <td>208</td>\n", | |
445 | + " <td>107</td>\n", | |
446 | + " <td>325</td>\n", | |
447 | + " <td>255</td>\n", | |
448 | + " <td>967</td>\n", | |
449 | + " <td>415</td>\n", | |
450 | + " <td>490</td>\n", | |
451 | + " <td>472</td>\n", | |
452 | + " <td>283</td>\n", | |
453 | + " </tr>\n", | |
454 | + " <tr>\n", | |
455 | + " <th>4</th>\n", | |
456 | + " <td>광진구</td>\n", | |
457 | + " <td>3,211</td>\n", | |
458 | + " <td>35</td>\n", | |
459 | + " <td>57</td>\n", | |
460 | + " <td>100</td>\n", | |
461 | + " <td>187</td>\n", | |
462 | + " <td>98</td>\n", | |
463 | + " <td>52</td>\n", | |
464 | + " <td>675</td>\n", | |
465 | + " <td>465</td>\n", | |
466 | + " <td>712</td>\n", | |
467 | + " <td>175</td>\n", | |
468 | + " <td>655</td>\n", | |
469 | + " </tr>\n", | |
470 | + " </tbody>\n", | |
471 | + "</table>\n", | |
472 | + "</div>" | |
473 | + ], | |
474 | + "text/plain": [ | |
475 | + " 구분 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 2019년 2020년 \\\n", | |
476 | + "0 종로구 1,715 815 NaN NaN 195 150 0 261 85 9 200 \n", | |
477 | + "1 중구 2,447 16 114 87 77 236 240 372 386 155 361 \n", | |
478 | + "2 용산구 2,611 34 71 234 125 221 298 351 125 307 617 \n", | |
479 | + "3 성동구 3,829 163 144 208 107 325 255 967 415 490 472 \n", | |
480 | + "4 광진구 3,211 35 57 100 187 98 52 675 465 712 175 \n", | |
481 | + "\n", | |
482 | + " 2021년 \n", | |
483 | + "0 0 \n", | |
484 | + "1 403 \n", | |
485 | + "2 228 \n", | |
486 | + "3 283 \n", | |
487 | + "4 655 " | |
488 | + ] | |
489 | + }, | |
490 | + "execution_count": 19, | |
491 | + "metadata": {}, | |
492 | + "output_type": "execute_result" | |
493 | + } | |
494 | + ], | |
495 | + "source": [ | |
496 | + "cctvData.reset_index(inplace=True)\n", | |
497 | + "cctvData.head()" | |
498 | + ] | |
499 | + }, | |
500 | + { | |
501 | + "cell_type": "code", | |
502 | + "execution_count": 20, | |
503 | + "id": "8fc76d77", | |
504 | + "metadata": {}, | |
505 | + "outputs": [ | |
506 | + { | |
507 | + "data": { | |
508 | + "text/html": [ | |
509 | + "<div>\n", | |
510 | + "<style scoped>\n", | |
511 | + " .dataframe tbody tr th:only-of-type {\n", | |
512 | + " vertical-align: middle;\n", | |
513 | + " }\n", | |
514 | + "\n", | |
515 | + " .dataframe tbody tr th {\n", | |
516 | + " vertical-align: top;\n", | |
517 | + " }\n", | |
518 | + "\n", | |
519 | + " .dataframe thead th {\n", | |
520 | + " text-align: right;\n", | |
521 | + " }\n", | |
522 | + "</style>\n", | |
523 | + "<table border=\"1\" class=\"dataframe\">\n", | |
524 | + " <thead>\n", | |
525 | + " <tr style=\"text-align: right;\">\n", | |
526 | + " <th></th>\n", | |
527 | + " <th>구별</th>\n", | |
528 | + " <th>총계</th>\n", | |
529 | + " <th>2012년 이전</th>\n", | |
530 | + " <th>2012년</th>\n", | |
531 | + " <th>2013년</th>\n", | |
532 | + " <th>2014년</th>\n", | |
533 | + " <th>2015년</th>\n", | |
534 | + " <th>2016년</th>\n", | |
535 | + " <th>2017년</th>\n", | |
536 | + " <th>2018년</th>\n", | |
537 | + " <th>2019년</th>\n", | |
538 | + " <th>2020년</th>\n", | |
539 | + " <th>2021년</th>\n", | |
540 | + " </tr>\n", | |
541 | + " </thead>\n", | |
542 | + " <tbody>\n", | |
543 | + " <tr>\n", | |
544 | + " <th>0</th>\n", | |
545 | + " <td>종로구</td>\n", | |
546 | + " <td>1,715</td>\n", | |
547 | + " <td>815</td>\n", | |
548 | + " <td>NaN</td>\n", | |
549 | + " <td>NaN</td>\n", | |
550 | + " <td>195</td>\n", | |
551 | + " <td>150</td>\n", | |
552 | + " <td>0</td>\n", | |
553 | + " <td>261</td>\n", | |
554 | + " <td>85</td>\n", | |
555 | + " <td>9</td>\n", | |
556 | + " <td>200</td>\n", | |
557 | + " <td>0</td>\n", | |
558 | + " </tr>\n", | |
559 | + " <tr>\n", | |
560 | + " <th>1</th>\n", | |
561 | + " <td>중구</td>\n", | |
562 | + " <td>2,447</td>\n", | |
563 | + " <td>16</td>\n", | |
564 | + " <td>114</td>\n", | |
565 | + " <td>87</td>\n", | |
566 | + " <td>77</td>\n", | |
567 | + " <td>236</td>\n", | |
568 | + " <td>240</td>\n", | |
569 | + " <td>372</td>\n", | |
570 | + " <td>386</td>\n", | |
571 | + " <td>155</td>\n", | |
572 | + " <td>361</td>\n", | |
573 | + " <td>403</td>\n", | |
574 | + " </tr>\n", | |
575 | + " <tr>\n", | |
576 | + " <th>2</th>\n", | |
577 | + " <td>용산구</td>\n", | |
578 | + " <td>2,611</td>\n", | |
579 | + " <td>34</td>\n", | |
580 | + " <td>71</td>\n", | |
581 | + " <td>234</td>\n", | |
582 | + " <td>125</td>\n", | |
583 | + " <td>221</td>\n", | |
584 | + " <td>298</td>\n", | |
585 | + " <td>351</td>\n", | |
586 | + " <td>125</td>\n", | |
587 | + " <td>307</td>\n", | |
588 | + " <td>617</td>\n", | |
589 | + " <td>228</td>\n", | |
590 | + " </tr>\n", | |
591 | + " <tr>\n", | |
592 | + " <th>3</th>\n", | |
593 | + " <td>성동구</td>\n", | |
594 | + " <td>3,829</td>\n", | |
595 | + " <td>163</td>\n", | |
596 | + " <td>144</td>\n", | |
597 | + " <td>208</td>\n", | |
598 | + " <td>107</td>\n", | |
599 | + " <td>325</td>\n", | |
600 | + " <td>255</td>\n", | |
601 | + " <td>967</td>\n", | |
602 | + " <td>415</td>\n", | |
603 | + " <td>490</td>\n", | |
604 | + " <td>472</td>\n", | |
605 | + " <td>283</td>\n", | |
606 | + " </tr>\n", | |
607 | + " <tr>\n", | |
608 | + " <th>4</th>\n", | |
609 | + " <td>광진구</td>\n", | |
610 | + " <td>3,211</td>\n", | |
611 | + " <td>35</td>\n", | |
612 | + " <td>57</td>\n", | |
613 | + " <td>100</td>\n", | |
614 | + " <td>187</td>\n", | |
615 | + " <td>98</td>\n", | |
616 | + " <td>52</td>\n", | |
617 | + " <td>675</td>\n", | |
618 | + " <td>465</td>\n", | |
619 | + " <td>712</td>\n", | |
620 | + " <td>175</td>\n", | |
621 | + " <td>655</td>\n", | |
622 | + " </tr>\n", | |
623 | + " </tbody>\n", | |
624 | + "</table>\n", | |
625 | + "</div>" | |
626 | + ], | |
627 | + "text/plain": [ | |
628 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 2019년 2020년 \\\n", | |
629 | + "0 종로구 1,715 815 NaN NaN 195 150 0 261 85 9 200 \n", | |
630 | + "1 중구 2,447 16 114 87 77 236 240 372 386 155 361 \n", | |
631 | + "2 용산구 2,611 34 71 234 125 221 298 351 125 307 617 \n", | |
632 | + "3 성동구 3,829 163 144 208 107 325 255 967 415 490 472 \n", | |
633 | + "4 광진구 3,211 35 57 100 187 98 52 675 465 712 175 \n", | |
634 | + "\n", | |
635 | + " 2021년 \n", | |
636 | + "0 0 \n", | |
637 | + "1 403 \n", | |
638 | + "2 228 \n", | |
639 | + "3 283 \n", | |
640 | + "4 655 " | |
641 | + ] | |
642 | + }, | |
643 | + "execution_count": 20, | |
644 | + "metadata": {}, | |
645 | + "output_type": "execute_result" | |
646 | + } | |
647 | + ], | |
648 | + "source": [ | |
649 | + "cctvData.rename(columns={'구분':'구별'}, inplace=True)\n", | |
650 | + "cctvData.head()" | |
651 | + ] | |
652 | + }, | |
653 | + { | |
654 | + "cell_type": "code", | |
655 | + "execution_count": 21, | |
656 | + "id": "f924974d", | |
657 | + "metadata": { | |
658 | + "scrolled": true | |
659 | + }, | |
660 | + "outputs": [ | |
661 | + { | |
662 | + "data": { | |
663 | + "text/html": [ | |
664 | + "<div>\n", | |
665 | + "<style scoped>\n", | |
666 | + " .dataframe tbody tr th:only-of-type {\n", | |
667 | + " vertical-align: middle;\n", | |
668 | + " }\n", | |
669 | + "\n", | |
670 | + " .dataframe tbody tr th {\n", | |
671 | + " vertical-align: top;\n", | |
672 | + " }\n", | |
673 | + "\n", | |
674 | + " .dataframe thead th {\n", | |
675 | + " text-align: right;\n", | |
676 | + " }\n", | |
677 | + "</style>\n", | |
678 | + "<table border=\"1\" class=\"dataframe\">\n", | |
679 | + " <thead>\n", | |
680 | + " <tr style=\"text-align: right;\">\n", | |
681 | + " <th></th>\n", | |
682 | + " <th>자치구</th>\n", | |
683 | + " <th>계</th>\n", | |
684 | + " <th>계.1</th>\n", | |
685 | + " <th>계.2</th>\n", | |
686 | + " <th>65세이상고령자</th>\n", | |
687 | + " </tr>\n", | |
688 | + " </thead>\n", | |
689 | + " <tbody>\n", | |
690 | + " <tr>\n", | |
691 | + " <th>0</th>\n", | |
692 | + " <td>합계</td>\n", | |
693 | + " <td>9736027</td>\n", | |
694 | + " <td>9509458</td>\n", | |
695 | + " <td>226569</td>\n", | |
696 | + " <td>1605416</td>\n", | |
697 | + " </tr>\n", | |
698 | + " <tr>\n", | |
699 | + " <th>1</th>\n", | |
700 | + " <td>종로구</td>\n", | |
701 | + " <td>153789</td>\n", | |
702 | + " <td>144683</td>\n", | |
703 | + " <td>9106</td>\n", | |
704 | + " <td>27818</td>\n", | |
705 | + " </tr>\n", | |
706 | + " <tr>\n", | |
707 | + " <th>2</th>\n", | |
708 | + " <td>중구</td>\n", | |
709 | + " <td>131787</td>\n", | |
710 | + " <td>122499</td>\n", | |
711 | + " <td>9288</td>\n", | |
712 | + " <td>24392</td>\n", | |
713 | + " </tr>\n", | |
714 | + " <tr>\n", | |
715 | + " <th>3</th>\n", | |
716 | + " <td>용산구</td>\n", | |
717 | + " <td>237285</td>\n", | |
718 | + " <td>222953</td>\n", | |
719 | + " <td>14332</td>\n", | |
720 | + " <td>39070</td>\n", | |
721 | + " </tr>\n", | |
722 | + " <tr>\n", | |
723 | + " <th>4</th>\n", | |
724 | + " <td>성동구</td>\n", | |
725 | + " <td>292672</td>\n", | |
726 | + " <td>285990</td>\n", | |
727 | + " <td>6682</td>\n", | |
728 | + " <td>46380</td>\n", | |
729 | + " </tr>\n", | |
730 | + " </tbody>\n", | |
731 | + "</table>\n", | |
732 | + "</div>" | |
733 | + ], | |
734 | + "text/plain": [ | |
735 | + " 자치구 계 계.1 계.2 65세이상고령자\n", | |
736 | + "0 합계 9736027 9509458 226569 1605416\n", | |
737 | + "1 종로구 153789 144683 9106 27818\n", | |
738 | + "2 중구 131787 122499 9288 24392\n", | |
739 | + "3 용산구 237285 222953 14332 39070\n", | |
740 | + "4 성동구 292672 285990 6682 46380" | |
741 | + ] | |
742 | + }, | |
743 | + "execution_count": 21, | |
744 | + "metadata": {}, | |
745 | + "output_type": "execute_result" | |
746 | + } | |
747 | + ], | |
748 | + "source": [ | |
749 | + "popData = pd.read_excel('./seoul_population.xls', header=2, usecols='B, D, G, J, N')\n", | |
750 | + "popData.head()" | |
751 | + ] | |
752 | + }, | |
753 | + { | |
754 | + "cell_type": "code", | |
755 | + "execution_count": 22, | |
756 | + "id": "7fcdba74", | |
757 | + "metadata": {}, | |
758 | + "outputs": [], | |
759 | + "source": [ | |
760 | + "popData.rename(columns={'자치구':'구별', '계':'인구수', '계.1':'한국인', '계.2':'외국인', '65세이상고령자':'고령자'}, inplace=True)" | |
761 | + ] | |
762 | + }, | |
763 | + { | |
764 | + "cell_type": "code", | |
765 | + "execution_count": 23, | |
766 | + "id": "b725e640", | |
767 | + "metadata": {}, | |
768 | + "outputs": [ | |
769 | + { | |
770 | + "data": { | |
771 | + "text/html": [ | |
772 | + "<div>\n", | |
773 | + "<style scoped>\n", | |
774 | + " .dataframe tbody tr th:only-of-type {\n", | |
775 | + " vertical-align: middle;\n", | |
776 | + " }\n", | |
777 | + "\n", | |
778 | + " .dataframe tbody tr th {\n", | |
779 | + " vertical-align: top;\n", | |
780 | + " }\n", | |
781 | + "\n", | |
782 | + " .dataframe thead th {\n", | |
783 | + " text-align: right;\n", | |
784 | + " }\n", | |
785 | + "</style>\n", | |
786 | + "<table border=\"1\" class=\"dataframe\">\n", | |
787 | + " <thead>\n", | |
788 | + " <tr style=\"text-align: right;\">\n", | |
789 | + " <th></th>\n", | |
790 | + " <th>구별</th>\n", | |
791 | + " <th>인구수</th>\n", | |
792 | + " <th>한국인</th>\n", | |
793 | + " <th>외국인</th>\n", | |
794 | + " <th>고령자</th>\n", | |
795 | + " </tr>\n", | |
796 | + " </thead>\n", | |
797 | + " <tbody>\n", | |
798 | + " <tr>\n", | |
799 | + " <th>0</th>\n", | |
800 | + " <td>합계</td>\n", | |
801 | + " <td>9736027</td>\n", | |
802 | + " <td>9509458</td>\n", | |
803 | + " <td>226569</td>\n", | |
804 | + " <td>1605416</td>\n", | |
805 | + " </tr>\n", | |
806 | + " <tr>\n", | |
807 | + " <th>1</th>\n", | |
808 | + " <td>종로구</td>\n", | |
809 | + " <td>153789</td>\n", | |
810 | + " <td>144683</td>\n", | |
811 | + " <td>9106</td>\n", | |
812 | + " <td>27818</td>\n", | |
813 | + " </tr>\n", | |
814 | + " <tr>\n", | |
815 | + " <th>2</th>\n", | |
816 | + " <td>중구</td>\n", | |
817 | + " <td>131787</td>\n", | |
818 | + " <td>122499</td>\n", | |
819 | + " <td>9288</td>\n", | |
820 | + " <td>24392</td>\n", | |
821 | + " </tr>\n", | |
822 | + " <tr>\n", | |
823 | + " <th>3</th>\n", | |
824 | + " <td>용산구</td>\n", | |
825 | + " <td>237285</td>\n", | |
826 | + " <td>222953</td>\n", | |
827 | + " <td>14332</td>\n", | |
828 | + " <td>39070</td>\n", | |
829 | + " </tr>\n", | |
830 | + " <tr>\n", | |
831 | + " <th>4</th>\n", | |
832 | + " <td>성동구</td>\n", | |
833 | + " <td>292672</td>\n", | |
834 | + " <td>285990</td>\n", | |
835 | + " <td>6682</td>\n", | |
836 | + " <td>46380</td>\n", | |
837 | + " </tr>\n", | |
838 | + " </tbody>\n", | |
839 | + "</table>\n", | |
840 | + "</div>" | |
841 | + ], | |
842 | + "text/plain": [ | |
843 | + " 구별 인구수 한국인 외국인 고령자\n", | |
844 | + "0 합계 9736027 9509458 226569 1605416\n", | |
845 | + "1 종로구 153789 144683 9106 27818\n", | |
846 | + "2 중구 131787 122499 9288 24392\n", | |
847 | + "3 용산구 237285 222953 14332 39070\n", | |
848 | + "4 성동구 292672 285990 6682 46380" | |
849 | + ] | |
850 | + }, | |
851 | + "execution_count": 23, | |
852 | + "metadata": {}, | |
853 | + "output_type": "execute_result" | |
854 | + } | |
855 | + ], | |
856 | + "source": [ | |
857 | + "popData.head()" | |
858 | + ] | |
859 | + }, | |
860 | + { | |
861 | + "cell_type": "code", | |
862 | + "execution_count": 26, | |
863 | + "id": "60e168a3", | |
864 | + "metadata": {}, | |
865 | + "outputs": [ | |
866 | + { | |
867 | + "data": { | |
868 | + "text/html": [ | |
869 | + "<div>\n", | |
870 | + "<style scoped>\n", | |
871 | + " .dataframe tbody tr th:only-of-type {\n", | |
872 | + " vertical-align: middle;\n", | |
873 | + " }\n", | |
874 | + "\n", | |
875 | + " .dataframe tbody tr th {\n", | |
876 | + " vertical-align: top;\n", | |
877 | + " }\n", | |
878 | + "\n", | |
879 | + " .dataframe thead th {\n", | |
880 | + " text-align: right;\n", | |
881 | + " }\n", | |
882 | + "</style>\n", | |
883 | + "<table border=\"1\" class=\"dataframe\">\n", | |
884 | + " <thead>\n", | |
885 | + " <tr style=\"text-align: right;\">\n", | |
886 | + " <th></th>\n", | |
887 | + " <th>구별</th>\n", | |
888 | + " <th>총계</th>\n", | |
889 | + " <th>2012년 이전</th>\n", | |
890 | + " <th>2012년</th>\n", | |
891 | + " <th>2013년</th>\n", | |
892 | + " <th>2014년</th>\n", | |
893 | + " <th>2015년</th>\n", | |
894 | + " <th>2016년</th>\n", | |
895 | + " <th>2017년</th>\n", | |
896 | + " <th>2018년</th>\n", | |
897 | + " <th>2019년</th>\n", | |
898 | + " <th>2020년</th>\n", | |
899 | + " <th>2021년</th>\n", | |
900 | + " </tr>\n", | |
901 | + " </thead>\n", | |
902 | + " <tbody>\n", | |
903 | + " <tr>\n", | |
904 | + " <th>22</th>\n", | |
905 | + " <td>강남구</td>\n", | |
906 | + " <td>6,871</td>\n", | |
907 | + " <td>69</td>\n", | |
908 | + " <td>67</td>\n", | |
909 | + " <td>66</td>\n", | |
910 | + " <td>580</td>\n", | |
911 | + " <td>830</td>\n", | |
912 | + " <td>1293</td>\n", | |
913 | + " <td>988</td>\n", | |
914 | + " <td>745</td>\n", | |
915 | + " <td>791</td>\n", | |
916 | + " <td>926</td>\n", | |
917 | + " <td>516</td>\n", | |
918 | + " </tr>\n", | |
919 | + " <tr>\n", | |
920 | + " <th>20</th>\n", | |
921 | + " <td>관악구</td>\n", | |
922 | + " <td>5,149</td>\n", | |
923 | + " <td>440</td>\n", | |
924 | + " <td>84</td>\n", | |
925 | + " <td>431</td>\n", | |
926 | + " <td>439</td>\n", | |
927 | + " <td>609</td>\n", | |
928 | + " <td>622</td>\n", | |
929 | + " <td>688</td>\n", | |
930 | + " <td>674</td>\n", | |
931 | + " <td>595</td>\n", | |
932 | + " <td>331</td>\n", | |
933 | + " <td>236</td>\n", | |
934 | + " </tr>\n", | |
935 | + " <tr>\n", | |
936 | + " <th>16</th>\n", | |
937 | + " <td>구로구</td>\n", | |
938 | + " <td>4,608</td>\n", | |
939 | + " <td>852</td>\n", | |
940 | + " <td>216</td>\n", | |
941 | + " <td>349</td>\n", | |
942 | + " <td>187</td>\n", | |
943 | + " <td>268</td>\n", | |
944 | + " <td>326</td>\n", | |
945 | + " <td>540</td>\n", | |
946 | + " <td>488</td>\n", | |
947 | + " <td>434</td>\n", | |
948 | + " <td>415</td>\n", | |
949 | + " <td>533</td>\n", | |
950 | + " </tr>\n", | |
951 | + " <tr>\n", | |
952 | + " <th>7</th>\n", | |
953 | + " <td>성북구</td>\n", | |
954 | + " <td>4,602</td>\n", | |
955 | + " <td>81</td>\n", | |
956 | + " <td>78</td>\n", | |
957 | + " <td>170</td>\n", | |
958 | + " <td>229</td>\n", | |
959 | + " <td>322</td>\n", | |
960 | + " <td>594</td>\n", | |
961 | + " <td>890</td>\n", | |
962 | + " <td>867</td>\n", | |
963 | + " <td>714</td>\n", | |
964 | + " <td>253</td>\n", | |
965 | + " <td>404</td>\n", | |
966 | + " </tr>\n", | |
967 | + " <tr>\n", | |
968 | + " <th>11</th>\n", | |
969 | + " <td>은평구</td>\n", | |
970 | + " <td>4,131</td>\n", | |
971 | + " <td>14</td>\n", | |
972 | + " <td>3</td>\n", | |
973 | + " <td>44</td>\n", | |
974 | + " <td>332</td>\n", | |
975 | + " <td>329</td>\n", | |
976 | + " <td>555</td>\n", | |
977 | + " <td>403</td>\n", | |
978 | + " <td>635</td>\n", | |
979 | + " <td>1057</td>\n", | |
980 | + " <td>288</td>\n", | |
981 | + " <td>471</td>\n", | |
982 | + " </tr>\n", | |
983 | + " </tbody>\n", | |
984 | + "</table>\n", | |
985 | + "</div>" | |
986 | + ], | |
987 | + "text/plain": [ | |
988 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 2019년 2020년 \\\n", | |
989 | + "22 강남구 6,871 69 67 66 580 830 1293 988 745 791 926 \n", | |
990 | + "20 관악구 5,149 440 84 431 439 609 622 688 674 595 331 \n", | |
991 | + "16 구로구 4,608 852 216 349 187 268 326 540 488 434 415 \n", | |
992 | + "7 성북구 4,602 81 78 170 229 322 594 890 867 714 253 \n", | |
993 | + "11 은평구 4,131 14 3 44 332 329 555 403 635 1057 288 \n", | |
994 | + "\n", | |
995 | + " 2021년 \n", | |
996 | + "22 516 \n", | |
997 | + "20 236 \n", | |
998 | + "16 533 \n", | |
999 | + "7 404 \n", | |
1000 | + "11 471 " | |
1001 | + ] | |
1002 | + }, | |
1003 | + "execution_count": 26, | |
1004 | + "metadata": {}, | |
1005 | + "output_type": "execute_result" | |
1006 | + } | |
1007 | + ], | |
1008 | + "source": [ | |
1009 | + "cctvData.sort_values(by='총계', ascending=False).head()" | |
1010 | + ] | |
1011 | + }, | |
1012 | + { | |
1013 | + "cell_type": "code", | |
1014 | + "execution_count": null, | |
1015 | + "id": "8e4b2882", | |
1016 | + "metadata": {}, | |
1017 | + "outputs": [], | |
1018 | + "source": [] | |
1019 | + }, | |
1020 | + { | |
1021 | + "cell_type": "code", | |
1022 | + "execution_count": 27, | |
1023 | + "id": "b3bba330", | |
1024 | + "metadata": { | |
1025 | + "scrolled": true | |
1026 | + }, | |
1027 | + "outputs": [ | |
1028 | + { | |
1029 | + "data": { | |
1030 | + "text/html": [ | |
1031 | + "<div>\n", | |
1032 | + "<style scoped>\n", | |
1033 | + " .dataframe tbody tr th:only-of-type {\n", | |
1034 | + " vertical-align: middle;\n", | |
1035 | + " }\n", | |
1036 | + "\n", | |
1037 | + " .dataframe tbody tr th {\n", | |
1038 | + " vertical-align: top;\n", | |
1039 | + " }\n", | |
1040 | + "\n", | |
1041 | + " .dataframe thead th {\n", | |
1042 | + " text-align: right;\n", | |
1043 | + " }\n", | |
1044 | + "</style>\n", | |
1045 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1046 | + " <thead>\n", | |
1047 | + " <tr style=\"text-align: right;\">\n", | |
1048 | + " <th></th>\n", | |
1049 | + " <th>구별</th>\n", | |
1050 | + " <th>총계</th>\n", | |
1051 | + " <th>2012년 이전</th>\n", | |
1052 | + " <th>2012년</th>\n", | |
1053 | + " <th>2013년</th>\n", | |
1054 | + " <th>2014년</th>\n", | |
1055 | + " <th>2015년</th>\n", | |
1056 | + " <th>2016년</th>\n", | |
1057 | + " <th>2017년</th>\n", | |
1058 | + " <th>2018년</th>\n", | |
1059 | + " <th>2019년</th>\n", | |
1060 | + " <th>2020년</th>\n", | |
1061 | + " <th>2021년</th>\n", | |
1062 | + " </tr>\n", | |
1063 | + " </thead>\n", | |
1064 | + " <tbody>\n", | |
1065 | + " <tr>\n", | |
1066 | + " <th>0</th>\n", | |
1067 | + " <td>False</td>\n", | |
1068 | + " <td>False</td>\n", | |
1069 | + " <td>False</td>\n", | |
1070 | + " <td>True</td>\n", | |
1071 | + " <td>True</td>\n", | |
1072 | + " <td>False</td>\n", | |
1073 | + " <td>False</td>\n", | |
1074 | + " <td>False</td>\n", | |
1075 | + " <td>False</td>\n", | |
1076 | + " <td>False</td>\n", | |
1077 | + " <td>False</td>\n", | |
1078 | + " <td>False</td>\n", | |
1079 | + " <td>False</td>\n", | |
1080 | + " </tr>\n", | |
1081 | + " <tr>\n", | |
1082 | + " <th>1</th>\n", | |
1083 | + " <td>False</td>\n", | |
1084 | + " <td>False</td>\n", | |
1085 | + " <td>False</td>\n", | |
1086 | + " <td>False</td>\n", | |
1087 | + " <td>False</td>\n", | |
1088 | + " <td>False</td>\n", | |
1089 | + " <td>False</td>\n", | |
1090 | + " <td>False</td>\n", | |
1091 | + " <td>False</td>\n", | |
1092 | + " <td>False</td>\n", | |
1093 | + " <td>False</td>\n", | |
1094 | + " <td>False</td>\n", | |
1095 | + " <td>False</td>\n", | |
1096 | + " </tr>\n", | |
1097 | + " <tr>\n", | |
1098 | + " <th>2</th>\n", | |
1099 | + " <td>False</td>\n", | |
1100 | + " <td>False</td>\n", | |
1101 | + " <td>False</td>\n", | |
1102 | + " <td>False</td>\n", | |
1103 | + " <td>False</td>\n", | |
1104 | + " <td>False</td>\n", | |
1105 | + " <td>False</td>\n", | |
1106 | + " <td>False</td>\n", | |
1107 | + " <td>False</td>\n", | |
1108 | + " <td>False</td>\n", | |
1109 | + " <td>False</td>\n", | |
1110 | + " <td>False</td>\n", | |
1111 | + " <td>False</td>\n", | |
1112 | + " </tr>\n", | |
1113 | + " <tr>\n", | |
1114 | + " <th>3</th>\n", | |
1115 | + " <td>False</td>\n", | |
1116 | + " <td>False</td>\n", | |
1117 | + " <td>False</td>\n", | |
1118 | + " <td>False</td>\n", | |
1119 | + " <td>False</td>\n", | |
1120 | + " <td>False</td>\n", | |
1121 | + " <td>False</td>\n", | |
1122 | + " <td>False</td>\n", | |
1123 | + " <td>False</td>\n", | |
1124 | + " <td>False</td>\n", | |
1125 | + " <td>False</td>\n", | |
1126 | + " <td>False</td>\n", | |
1127 | + " <td>False</td>\n", | |
1128 | + " </tr>\n", | |
1129 | + " <tr>\n", | |
1130 | + " <th>4</th>\n", | |
1131 | + " <td>False</td>\n", | |
1132 | + " <td>False</td>\n", | |
1133 | + " <td>False</td>\n", | |
1134 | + " <td>False</td>\n", | |
1135 | + " <td>False</td>\n", | |
1136 | + " <td>False</td>\n", | |
1137 | + " <td>False</td>\n", | |
1138 | + " <td>False</td>\n", | |
1139 | + " <td>False</td>\n", | |
1140 | + " <td>False</td>\n", | |
1141 | + " <td>False</td>\n", | |
1142 | + " <td>False</td>\n", | |
1143 | + " <td>False</td>\n", | |
1144 | + " </tr>\n", | |
1145 | + " <tr>\n", | |
1146 | + " <th>5</th>\n", | |
1147 | + " <td>False</td>\n", | |
1148 | + " <td>False</td>\n", | |
1149 | + " <td>False</td>\n", | |
1150 | + " <td>False</td>\n", | |
1151 | + " <td>False</td>\n", | |
1152 | + " <td>False</td>\n", | |
1153 | + " <td>False</td>\n", | |
1154 | + " <td>False</td>\n", | |
1155 | + " <td>False</td>\n", | |
1156 | + " <td>False</td>\n", | |
1157 | + " <td>False</td>\n", | |
1158 | + " <td>False</td>\n", | |
1159 | + " <td>False</td>\n", | |
1160 | + " </tr>\n", | |
1161 | + " <tr>\n", | |
1162 | + " <th>6</th>\n", | |
1163 | + " <td>False</td>\n", | |
1164 | + " <td>False</td>\n", | |
1165 | + " <td>False</td>\n", | |
1166 | + " <td>False</td>\n", | |
1167 | + " <td>False</td>\n", | |
1168 | + " <td>False</td>\n", | |
1169 | + " <td>False</td>\n", | |
1170 | + " <td>False</td>\n", | |
1171 | + " <td>False</td>\n", | |
1172 | + " <td>False</td>\n", | |
1173 | + " <td>False</td>\n", | |
1174 | + " <td>False</td>\n", | |
1175 | + " <td>False</td>\n", | |
1176 | + " </tr>\n", | |
1177 | + " <tr>\n", | |
1178 | + " <th>7</th>\n", | |
1179 | + " <td>False</td>\n", | |
1180 | + " <td>False</td>\n", | |
1181 | + " <td>False</td>\n", | |
1182 | + " <td>False</td>\n", | |
1183 | + " <td>False</td>\n", | |
1184 | + " <td>False</td>\n", | |
1185 | + " <td>False</td>\n", | |
1186 | + " <td>False</td>\n", | |
1187 | + " <td>False</td>\n", | |
1188 | + " <td>False</td>\n", | |
1189 | + " <td>False</td>\n", | |
1190 | + " <td>False</td>\n", | |
1191 | + " <td>False</td>\n", | |
1192 | + " </tr>\n", | |
1193 | + " <tr>\n", | |
1194 | + " <th>8</th>\n", | |
1195 | + " <td>False</td>\n", | |
1196 | + " <td>False</td>\n", | |
1197 | + " <td>False</td>\n", | |
1198 | + " <td>False</td>\n", | |
1199 | + " <td>False</td>\n", | |
1200 | + " <td>False</td>\n", | |
1201 | + " <td>False</td>\n", | |
1202 | + " <td>False</td>\n", | |
1203 | + " <td>False</td>\n", | |
1204 | + " <td>False</td>\n", | |
1205 | + " <td>False</td>\n", | |
1206 | + " <td>False</td>\n", | |
1207 | + " <td>False</td>\n", | |
1208 | + " </tr>\n", | |
1209 | + " <tr>\n", | |
1210 | + " <th>9</th>\n", | |
1211 | + " <td>False</td>\n", | |
1212 | + " <td>False</td>\n", | |
1213 | + " <td>False</td>\n", | |
1214 | + " <td>False</td>\n", | |
1215 | + " <td>False</td>\n", | |
1216 | + " <td>False</td>\n", | |
1217 | + " <td>False</td>\n", | |
1218 | + " <td>False</td>\n", | |
1219 | + " <td>False</td>\n", | |
1220 | + " <td>False</td>\n", | |
1221 | + " <td>False</td>\n", | |
1222 | + " <td>False</td>\n", | |
1223 | + " <td>False</td>\n", | |
1224 | + " </tr>\n", | |
1225 | + " <tr>\n", | |
1226 | + " <th>10</th>\n", | |
1227 | + " <td>False</td>\n", | |
1228 | + " <td>False</td>\n", | |
1229 | + " <td>False</td>\n", | |
1230 | + " <td>False</td>\n", | |
1231 | + " <td>False</td>\n", | |
1232 | + " <td>False</td>\n", | |
1233 | + " <td>False</td>\n", | |
1234 | + " <td>False</td>\n", | |
1235 | + " <td>False</td>\n", | |
1236 | + " <td>False</td>\n", | |
1237 | + " <td>False</td>\n", | |
1238 | + " <td>False</td>\n", | |
1239 | + " <td>False</td>\n", | |
1240 | + " </tr>\n", | |
1241 | + " <tr>\n", | |
1242 | + " <th>11</th>\n", | |
1243 | + " <td>False</td>\n", | |
1244 | + " <td>False</td>\n", | |
1245 | + " <td>False</td>\n", | |
1246 | + " <td>False</td>\n", | |
1247 | + " <td>False</td>\n", | |
1248 | + " <td>False</td>\n", | |
1249 | + " <td>False</td>\n", | |
1250 | + " <td>False</td>\n", | |
1251 | + " <td>False</td>\n", | |
1252 | + " <td>False</td>\n", | |
1253 | + " <td>False</td>\n", | |
1254 | + " <td>False</td>\n", | |
1255 | + " <td>False</td>\n", | |
1256 | + " </tr>\n", | |
1257 | + " <tr>\n", | |
1258 | + " <th>12</th>\n", | |
1259 | + " <td>False</td>\n", | |
1260 | + " <td>False</td>\n", | |
1261 | + " <td>False</td>\n", | |
1262 | + " <td>False</td>\n", | |
1263 | + " <td>False</td>\n", | |
1264 | + " <td>False</td>\n", | |
1265 | + " <td>False</td>\n", | |
1266 | + " <td>False</td>\n", | |
1267 | + " <td>False</td>\n", | |
1268 | + " <td>False</td>\n", | |
1269 | + " <td>False</td>\n", | |
1270 | + " <td>False</td>\n", | |
1271 | + " <td>False</td>\n", | |
1272 | + " </tr>\n", | |
1273 | + " <tr>\n", | |
1274 | + " <th>13</th>\n", | |
1275 | + " <td>False</td>\n", | |
1276 | + " <td>False</td>\n", | |
1277 | + " <td>False</td>\n", | |
1278 | + " <td>False</td>\n", | |
1279 | + " <td>False</td>\n", | |
1280 | + " <td>False</td>\n", | |
1281 | + " <td>False</td>\n", | |
1282 | + " <td>False</td>\n", | |
1283 | + " <td>False</td>\n", | |
1284 | + " <td>False</td>\n", | |
1285 | + " <td>False</td>\n", | |
1286 | + " <td>False</td>\n", | |
1287 | + " <td>False</td>\n", | |
1288 | + " </tr>\n", | |
1289 | + " <tr>\n", | |
1290 | + " <th>14</th>\n", | |
1291 | + " <td>False</td>\n", | |
1292 | + " <td>False</td>\n", | |
1293 | + " <td>False</td>\n", | |
1294 | + " <td>False</td>\n", | |
1295 | + " <td>False</td>\n", | |
1296 | + " <td>False</td>\n", | |
1297 | + " <td>False</td>\n", | |
1298 | + " <td>False</td>\n", | |
1299 | + " <td>False</td>\n", | |
1300 | + " <td>False</td>\n", | |
1301 | + " <td>False</td>\n", | |
1302 | + " <td>False</td>\n", | |
1303 | + " <td>False</td>\n", | |
1304 | + " </tr>\n", | |
1305 | + " <tr>\n", | |
1306 | + " <th>15</th>\n", | |
1307 | + " <td>False</td>\n", | |
1308 | + " <td>False</td>\n", | |
1309 | + " <td>False</td>\n", | |
1310 | + " <td>False</td>\n", | |
1311 | + " <td>False</td>\n", | |
1312 | + " <td>False</td>\n", | |
1313 | + " <td>False</td>\n", | |
1314 | + " <td>False</td>\n", | |
1315 | + " <td>False</td>\n", | |
1316 | + " <td>False</td>\n", | |
1317 | + " <td>False</td>\n", | |
1318 | + " <td>False</td>\n", | |
1319 | + " <td>False</td>\n", | |
1320 | + " </tr>\n", | |
1321 | + " <tr>\n", | |
1322 | + " <th>16</th>\n", | |
1323 | + " <td>False</td>\n", | |
1324 | + " <td>False</td>\n", | |
1325 | + " <td>False</td>\n", | |
1326 | + " <td>False</td>\n", | |
1327 | + " <td>False</td>\n", | |
1328 | + " <td>False</td>\n", | |
1329 | + " <td>False</td>\n", | |
1330 | + " <td>False</td>\n", | |
1331 | + " <td>False</td>\n", | |
1332 | + " <td>False</td>\n", | |
1333 | + " <td>False</td>\n", | |
1334 | + " <td>False</td>\n", | |
1335 | + " <td>False</td>\n", | |
1336 | + " </tr>\n", | |
1337 | + " <tr>\n", | |
1338 | + " <th>17</th>\n", | |
1339 | + " <td>False</td>\n", | |
1340 | + " <td>False</td>\n", | |
1341 | + " <td>False</td>\n", | |
1342 | + " <td>False</td>\n", | |
1343 | + " <td>False</td>\n", | |
1344 | + " <td>False</td>\n", | |
1345 | + " <td>False</td>\n", | |
1346 | + " <td>False</td>\n", | |
1347 | + " <td>False</td>\n", | |
1348 | + " <td>False</td>\n", | |
1349 | + " <td>False</td>\n", | |
1350 | + " <td>False</td>\n", | |
1351 | + " <td>False</td>\n", | |
1352 | + " </tr>\n", | |
1353 | + " <tr>\n", | |
1354 | + " <th>18</th>\n", | |
1355 | + " <td>False</td>\n", | |
1356 | + " <td>False</td>\n", | |
1357 | + " <td>False</td>\n", | |
1358 | + " <td>False</td>\n", | |
1359 | + " <td>False</td>\n", | |
1360 | + " <td>False</td>\n", | |
1361 | + " <td>False</td>\n", | |
1362 | + " <td>False</td>\n", | |
1363 | + " <td>False</td>\n", | |
1364 | + " <td>False</td>\n", | |
1365 | + " <td>False</td>\n", | |
1366 | + " <td>False</td>\n", | |
1367 | + " <td>False</td>\n", | |
1368 | + " </tr>\n", | |
1369 | + " <tr>\n", | |
1370 | + " <th>19</th>\n", | |
1371 | + " <td>False</td>\n", | |
1372 | + " <td>False</td>\n", | |
1373 | + " <td>False</td>\n", | |
1374 | + " <td>False</td>\n", | |
1375 | + " <td>False</td>\n", | |
1376 | + " <td>False</td>\n", | |
1377 | + " <td>False</td>\n", | |
1378 | + " <td>False</td>\n", | |
1379 | + " <td>False</td>\n", | |
1380 | + " <td>False</td>\n", | |
1381 | + " <td>False</td>\n", | |
1382 | + " <td>False</td>\n", | |
1383 | + " <td>False</td>\n", | |
1384 | + " </tr>\n", | |
1385 | + " <tr>\n", | |
1386 | + " <th>20</th>\n", | |
1387 | + " <td>False</td>\n", | |
1388 | + " <td>False</td>\n", | |
1389 | + " <td>False</td>\n", | |
1390 | + " <td>False</td>\n", | |
1391 | + " <td>False</td>\n", | |
1392 | + " <td>False</td>\n", | |
1393 | + " <td>False</td>\n", | |
1394 | + " <td>False</td>\n", | |
1395 | + " <td>False</td>\n", | |
1396 | + " <td>False</td>\n", | |
1397 | + " <td>False</td>\n", | |
1398 | + " <td>False</td>\n", | |
1399 | + " <td>False</td>\n", | |
1400 | + " </tr>\n", | |
1401 | + " <tr>\n", | |
1402 | + " <th>21</th>\n", | |
1403 | + " <td>False</td>\n", | |
1404 | + " <td>False</td>\n", | |
1405 | + " <td>False</td>\n", | |
1406 | + " <td>False</td>\n", | |
1407 | + " <td>False</td>\n", | |
1408 | + " <td>False</td>\n", | |
1409 | + " <td>False</td>\n", | |
1410 | + " <td>False</td>\n", | |
1411 | + " <td>False</td>\n", | |
1412 | + " <td>False</td>\n", | |
1413 | + " <td>False</td>\n", | |
1414 | + " <td>False</td>\n", | |
1415 | + " <td>False</td>\n", | |
1416 | + " </tr>\n", | |
1417 | + " <tr>\n", | |
1418 | + " <th>22</th>\n", | |
1419 | + " <td>False</td>\n", | |
1420 | + " <td>False</td>\n", | |
1421 | + " <td>False</td>\n", | |
1422 | + " <td>False</td>\n", | |
1423 | + " <td>False</td>\n", | |
1424 | + " <td>False</td>\n", | |
1425 | + " <td>False</td>\n", | |
1426 | + " <td>False</td>\n", | |
1427 | + " <td>False</td>\n", | |
1428 | + " <td>False</td>\n", | |
1429 | + " <td>False</td>\n", | |
1430 | + " <td>False</td>\n", | |
1431 | + " <td>False</td>\n", | |
1432 | + " </tr>\n", | |
1433 | + " <tr>\n", | |
1434 | + " <th>23</th>\n", | |
1435 | + " <td>False</td>\n", | |
1436 | + " <td>False</td>\n", | |
1437 | + " <td>False</td>\n", | |
1438 | + " <td>False</td>\n", | |
1439 | + " <td>False</td>\n", | |
1440 | + " <td>False</td>\n", | |
1441 | + " <td>False</td>\n", | |
1442 | + " <td>False</td>\n", | |
1443 | + " <td>False</td>\n", | |
1444 | + " <td>False</td>\n", | |
1445 | + " <td>False</td>\n", | |
1446 | + " <td>False</td>\n", | |
1447 | + " <td>False</td>\n", | |
1448 | + " </tr>\n", | |
1449 | + " <tr>\n", | |
1450 | + " <th>24</th>\n", | |
1451 | + " <td>False</td>\n", | |
1452 | + " <td>False</td>\n", | |
1453 | + " <td>False</td>\n", | |
1454 | + " <td>False</td>\n", | |
1455 | + " <td>False</td>\n", | |
1456 | + " <td>False</td>\n", | |
1457 | + " <td>False</td>\n", | |
1458 | + " <td>False</td>\n", | |
1459 | + " <td>False</td>\n", | |
1460 | + " <td>False</td>\n", | |
1461 | + " <td>False</td>\n", | |
1462 | + " <td>False</td>\n", | |
1463 | + " <td>False</td>\n", | |
1464 | + " </tr>\n", | |
1465 | + " </tbody>\n", | |
1466 | + "</table>\n", | |
1467 | + "</div>" | |
1468 | + ], | |
1469 | + "text/plain": [ | |
1470 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
1471 | + "0 False False False True True False False False False False \n", | |
1472 | + "1 False False False False False False False False False False \n", | |
1473 | + "2 False False False False False False False False False False \n", | |
1474 | + "3 False False False False False False False False False False \n", | |
1475 | + "4 False False False False False False False False False False \n", | |
1476 | + "5 False False False False False False False False False False \n", | |
1477 | + "6 False False False False False False False False False False \n", | |
1478 | + "7 False False False False False False False False False False \n", | |
1479 | + "8 False False False False False False False False False False \n", | |
1480 | + "9 False False False False False False False False False False \n", | |
1481 | + "10 False False False False False False False False False False \n", | |
1482 | + "11 False False False False False False False False False False \n", | |
1483 | + "12 False False False False False False False False False False \n", | |
1484 | + "13 False False False False False False False False False False \n", | |
1485 | + "14 False False False False False False False False False False \n", | |
1486 | + "15 False False False False False False False False False False \n", | |
1487 | + "16 False False False False False False False False False False \n", | |
1488 | + "17 False False False False False False False False False False \n", | |
1489 | + "18 False False False False False False False False False False \n", | |
1490 | + "19 False False False False False False False False False False \n", | |
1491 | + "20 False False False False False False False False False False \n", | |
1492 | + "21 False False False False False False False False False False \n", | |
1493 | + "22 False False False False False False False False False False \n", | |
1494 | + "23 False False False False False False False False False False \n", | |
1495 | + "24 False False False False False False False False False False \n", | |
1496 | + "\n", | |
1497 | + " 2019년 2020년 2021년 \n", | |
1498 | + "0 False False False \n", | |
1499 | + "1 False False False \n", | |
1500 | + "2 False False False \n", | |
1501 | + "3 False False False \n", | |
1502 | + "4 False False False \n", | |
1503 | + "5 False False False \n", | |
1504 | + "6 False False False \n", | |
1505 | + "7 False False False \n", | |
1506 | + "8 False False False \n", | |
1507 | + "9 False False False \n", | |
1508 | + "10 False False False \n", | |
1509 | + "11 False False False \n", | |
1510 | + "12 False False False \n", | |
1511 | + "13 False False False \n", | |
1512 | + "14 False False False \n", | |
1513 | + "15 False False False \n", | |
1514 | + "16 False False False \n", | |
1515 | + "17 False False False \n", | |
1516 | + "18 False False False \n", | |
1517 | + "19 False False False \n", | |
1518 | + "20 False False False \n", | |
1519 | + "21 False False False \n", | |
1520 | + "22 False False False \n", | |
1521 | + "23 False False False \n", | |
1522 | + "24 False False False " | |
1523 | + ] | |
1524 | + }, | |
1525 | + "execution_count": 27, | |
1526 | + "metadata": {}, | |
1527 | + "output_type": "execute_result" | |
1528 | + } | |
1529 | + ], | |
1530 | + "source": [ | |
1531 | + "cctvData.isnull()" | |
1532 | + ] | |
1533 | + }, | |
1534 | + { | |
1535 | + "cell_type": "code", | |
1536 | + "execution_count": null, | |
1537 | + "id": "fcd8d10c", | |
1538 | + "metadata": {}, | |
1539 | + "outputs": [], | |
1540 | + "source": [] | |
1541 | + }, | |
1542 | + { | |
1543 | + "cell_type": "code", | |
1544 | + "execution_count": null, | |
1545 | + "id": "7485fb10", | |
1546 | + "metadata": {}, | |
1547 | + "outputs": [], | |
1548 | + "source": [] | |
1549 | + } | |
1550 | + ], | |
1551 | + "metadata": { | |
1552 | + "kernelspec": { | |
1553 | + "display_name": "Python 3 (ipykernel)", | |
1554 | + "language": "python", | |
1555 | + "name": "python3" | |
1556 | + }, | |
1557 | + "language_info": { | |
1558 | + "codemirror_mode": { | |
1559 | + "name": "ipython", | |
1560 | + "version": 3 | |
1561 | + }, | |
1562 | + "file_extension": ".py", | |
1563 | + "mimetype": "text/x-python", | |
1564 | + "name": "python", | |
1565 | + "nbconvert_exporter": "python", | |
1566 | + "pygments_lexer": "ipython3", | |
1567 | + "version": "3.9.7" | |
1568 | + } | |
1569 | + }, | |
1570 | + "nbformat": 4, | |
1571 | + "nbformat_minor": 5 | |
1572 | +} |
+++ 20220530/cctv.ipynb
... | ... | @@ -0,0 +1,2723 @@ |
1 | +{ | |
2 | + "cells": [ | |
3 | + { | |
4 | + "cell_type": "code", | |
5 | + "execution_count": 16, | |
6 | + "id": "55e4cb48", | |
7 | + "metadata": {}, | |
8 | + "outputs": [], | |
9 | + "source": [ | |
10 | + "import pandas as pd\n", | |
11 | + "import numpy as np\n", | |
12 | + "import matplotlib.pyplot as plt" | |
13 | + ] | |
14 | + }, | |
15 | + { | |
16 | + "cell_type": "code", | |
17 | + "execution_count": 37, | |
18 | + "id": "0dcd7237", | |
19 | + "metadata": { | |
20 | + "scrolled": true | |
21 | + }, | |
22 | + "outputs": [ | |
23 | + { | |
24 | + "data": { | |
25 | + "text/html": [ | |
26 | + "<div>\n", | |
27 | + "<style scoped>\n", | |
28 | + " .dataframe tbody tr th:only-of-type {\n", | |
29 | + " vertical-align: middle;\n", | |
30 | + " }\n", | |
31 | + "\n", | |
32 | + " .dataframe tbody tr th {\n", | |
33 | + " vertical-align: top;\n", | |
34 | + " }\n", | |
35 | + "\n", | |
36 | + " .dataframe thead th {\n", | |
37 | + " text-align: right;\n", | |
38 | + " }\n", | |
39 | + "</style>\n", | |
40 | + "<table border=\"1\" class=\"dataframe\">\n", | |
41 | + " <thead>\n", | |
42 | + " <tr style=\"text-align: right;\">\n", | |
43 | + " <th></th>\n", | |
44 | + " <th>총계</th>\n", | |
45 | + " <th>2012년 이전</th>\n", | |
46 | + " <th>2012년</th>\n", | |
47 | + " <th>2013년</th>\n", | |
48 | + " <th>2014년</th>\n", | |
49 | + " <th>2015년</th>\n", | |
50 | + " <th>2016년</th>\n", | |
51 | + " <th>2017년</th>\n", | |
52 | + " <th>2018년</th>\n", | |
53 | + " <th>2019년</th>\n", | |
54 | + " <th>2020년</th>\n", | |
55 | + " <th>2021년</th>\n", | |
56 | + " </tr>\n", | |
57 | + " <tr>\n", | |
58 | + " <th>구분</th>\n", | |
59 | + " <th></th>\n", | |
60 | + " <th></th>\n", | |
61 | + " <th></th>\n", | |
62 | + " <th></th>\n", | |
63 | + " <th></th>\n", | |
64 | + " <th></th>\n", | |
65 | + " <th></th>\n", | |
66 | + " <th></th>\n", | |
67 | + " <th></th>\n", | |
68 | + " <th></th>\n", | |
69 | + " <th></th>\n", | |
70 | + " <th></th>\n", | |
71 | + " </tr>\n", | |
72 | + " </thead>\n", | |
73 | + " <tbody>\n", | |
74 | + " <tr>\n", | |
75 | + " <th>계</th>\n", | |
76 | + " <td>83557</td>\n", | |
77 | + " <td>4812</td>\n", | |
78 | + " <td>1851.0</td>\n", | |
79 | + " <td>3434.0</td>\n", | |
80 | + " <td>4295</td>\n", | |
81 | + " <td>6840</td>\n", | |
82 | + " <td>8708</td>\n", | |
83 | + " <td>11572</td>\n", | |
84 | + " <td>10627</td>\n", | |
85 | + " <td>12267</td>\n", | |
86 | + " <td>11247</td>\n", | |
87 | + " <td>7904</td>\n", | |
88 | + " </tr>\n", | |
89 | + " <tr>\n", | |
90 | + " <th>종로구</th>\n", | |
91 | + " <td>1715</td>\n", | |
92 | + " <td>815</td>\n", | |
93 | + " <td>NaN</td>\n", | |
94 | + " <td>NaN</td>\n", | |
95 | + " <td>195</td>\n", | |
96 | + " <td>150</td>\n", | |
97 | + " <td>0</td>\n", | |
98 | + " <td>261</td>\n", | |
99 | + " <td>85</td>\n", | |
100 | + " <td>9</td>\n", | |
101 | + " <td>200</td>\n", | |
102 | + " <td>0</td>\n", | |
103 | + " </tr>\n", | |
104 | + " <tr>\n", | |
105 | + " <th>중구</th>\n", | |
106 | + " <td>2447</td>\n", | |
107 | + " <td>16</td>\n", | |
108 | + " <td>114.0</td>\n", | |
109 | + " <td>87.0</td>\n", | |
110 | + " <td>77</td>\n", | |
111 | + " <td>236</td>\n", | |
112 | + " <td>240</td>\n", | |
113 | + " <td>372</td>\n", | |
114 | + " <td>386</td>\n", | |
115 | + " <td>155</td>\n", | |
116 | + " <td>361</td>\n", | |
117 | + " <td>403</td>\n", | |
118 | + " </tr>\n", | |
119 | + " <tr>\n", | |
120 | + " <th>용산구</th>\n", | |
121 | + " <td>2611</td>\n", | |
122 | + " <td>34</td>\n", | |
123 | + " <td>71.0</td>\n", | |
124 | + " <td>234.0</td>\n", | |
125 | + " <td>125</td>\n", | |
126 | + " <td>221</td>\n", | |
127 | + " <td>298</td>\n", | |
128 | + " <td>351</td>\n", | |
129 | + " <td>125</td>\n", | |
130 | + " <td>307</td>\n", | |
131 | + " <td>617</td>\n", | |
132 | + " <td>228</td>\n", | |
133 | + " </tr>\n", | |
134 | + " <tr>\n", | |
135 | + " <th>성동구</th>\n", | |
136 | + " <td>3829</td>\n", | |
137 | + " <td>163</td>\n", | |
138 | + " <td>144.0</td>\n", | |
139 | + " <td>208.0</td>\n", | |
140 | + " <td>107</td>\n", | |
141 | + " <td>325</td>\n", | |
142 | + " <td>255</td>\n", | |
143 | + " <td>967</td>\n", | |
144 | + " <td>415</td>\n", | |
145 | + " <td>490</td>\n", | |
146 | + " <td>472</td>\n", | |
147 | + " <td>283</td>\n", | |
148 | + " </tr>\n", | |
149 | + " </tbody>\n", | |
150 | + "</table>\n", | |
151 | + "</div>" | |
152 | + ], | |
153 | + "text/plain": [ | |
154 | + " 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
155 | + "구분 \n", | |
156 | + "계 83557 4812 1851.0 3434.0 4295 6840 8708 11572 10627 \n", | |
157 | + "종로구 1715 815 NaN NaN 195 150 0 261 85 \n", | |
158 | + "중구 2447 16 114.0 87.0 77 236 240 372 386 \n", | |
159 | + "용산구 2611 34 71.0 234.0 125 221 298 351 125 \n", | |
160 | + "성동구 3829 163 144.0 208.0 107 325 255 967 415 \n", | |
161 | + "\n", | |
162 | + " 2019년 2020년 2021년 \n", | |
163 | + "구분 \n", | |
164 | + "계 12267 11247 7904 \n", | |
165 | + "종로구 9 200 0 \n", | |
166 | + "중구 155 361 403 \n", | |
167 | + "용산구 307 617 228 \n", | |
168 | + "성동구 490 472 283 " | |
169 | + ] | |
170 | + }, | |
171 | + "execution_count": 37, | |
172 | + "metadata": {}, | |
173 | + "output_type": "execute_result" | |
174 | + } | |
175 | + ], | |
176 | + "source": [ | |
177 | + "cctvData = pd.read_csv('./seoul_cctv_202112.csv', encoding='cp949', skiprows=1, index_col='구분', thousands=',')\n", | |
178 | + "cctvData.head()" | |
179 | + ] | |
180 | + }, | |
181 | + { | |
182 | + "cell_type": "code", | |
183 | + "execution_count": 38, | |
184 | + "id": "553f652c", | |
185 | + "metadata": { | |
186 | + "scrolled": true | |
187 | + }, | |
188 | + "outputs": [ | |
189 | + { | |
190 | + "data": { | |
191 | + "text/html": [ | |
192 | + "<div>\n", | |
193 | + "<style scoped>\n", | |
194 | + " .dataframe tbody tr th:only-of-type {\n", | |
195 | + " vertical-align: middle;\n", | |
196 | + " }\n", | |
197 | + "\n", | |
198 | + " .dataframe tbody tr th {\n", | |
199 | + " vertical-align: top;\n", | |
200 | + " }\n", | |
201 | + "\n", | |
202 | + " .dataframe thead th {\n", | |
203 | + " text-align: right;\n", | |
204 | + " }\n", | |
205 | + "</style>\n", | |
206 | + "<table border=\"1\" class=\"dataframe\">\n", | |
207 | + " <thead>\n", | |
208 | + " <tr style=\"text-align: right;\">\n", | |
209 | + " <th></th>\n", | |
210 | + " <th>총계</th>\n", | |
211 | + " <th>2012년 이전</th>\n", | |
212 | + " <th>2012년</th>\n", | |
213 | + " <th>2013년</th>\n", | |
214 | + " <th>2014년</th>\n", | |
215 | + " <th>2015년</th>\n", | |
216 | + " <th>2016년</th>\n", | |
217 | + " <th>2017년</th>\n", | |
218 | + " <th>2018년</th>\n", | |
219 | + " <th>2019년</th>\n", | |
220 | + " <th>2020년</th>\n", | |
221 | + " <th>2021년</th>\n", | |
222 | + " </tr>\n", | |
223 | + " <tr>\n", | |
224 | + " <th>구분</th>\n", | |
225 | + " <th></th>\n", | |
226 | + " <th></th>\n", | |
227 | + " <th></th>\n", | |
228 | + " <th></th>\n", | |
229 | + " <th></th>\n", | |
230 | + " <th></th>\n", | |
231 | + " <th></th>\n", | |
232 | + " <th></th>\n", | |
233 | + " <th></th>\n", | |
234 | + " <th></th>\n", | |
235 | + " <th></th>\n", | |
236 | + " <th></th>\n", | |
237 | + " </tr>\n", | |
238 | + " </thead>\n", | |
239 | + " <tbody>\n", | |
240 | + " <tr>\n", | |
241 | + " <th>종로구</th>\n", | |
242 | + " <td>1715</td>\n", | |
243 | + " <td>815</td>\n", | |
244 | + " <td>NaN</td>\n", | |
245 | + " <td>NaN</td>\n", | |
246 | + " <td>195</td>\n", | |
247 | + " <td>150</td>\n", | |
248 | + " <td>0</td>\n", | |
249 | + " <td>261</td>\n", | |
250 | + " <td>85</td>\n", | |
251 | + " <td>9</td>\n", | |
252 | + " <td>200</td>\n", | |
253 | + " <td>0</td>\n", | |
254 | + " </tr>\n", | |
255 | + " <tr>\n", | |
256 | + " <th>중구</th>\n", | |
257 | + " <td>2447</td>\n", | |
258 | + " <td>16</td>\n", | |
259 | + " <td>114.0</td>\n", | |
260 | + " <td>87.0</td>\n", | |
261 | + " <td>77</td>\n", | |
262 | + " <td>236</td>\n", | |
263 | + " <td>240</td>\n", | |
264 | + " <td>372</td>\n", | |
265 | + " <td>386</td>\n", | |
266 | + " <td>155</td>\n", | |
267 | + " <td>361</td>\n", | |
268 | + " <td>403</td>\n", | |
269 | + " </tr>\n", | |
270 | + " <tr>\n", | |
271 | + " <th>용산구</th>\n", | |
272 | + " <td>2611</td>\n", | |
273 | + " <td>34</td>\n", | |
274 | + " <td>71.0</td>\n", | |
275 | + " <td>234.0</td>\n", | |
276 | + " <td>125</td>\n", | |
277 | + " <td>221</td>\n", | |
278 | + " <td>298</td>\n", | |
279 | + " <td>351</td>\n", | |
280 | + " <td>125</td>\n", | |
281 | + " <td>307</td>\n", | |
282 | + " <td>617</td>\n", | |
283 | + " <td>228</td>\n", | |
284 | + " </tr>\n", | |
285 | + " <tr>\n", | |
286 | + " <th>성동구</th>\n", | |
287 | + " <td>3829</td>\n", | |
288 | + " <td>163</td>\n", | |
289 | + " <td>144.0</td>\n", | |
290 | + " <td>208.0</td>\n", | |
291 | + " <td>107</td>\n", | |
292 | + " <td>325</td>\n", | |
293 | + " <td>255</td>\n", | |
294 | + " <td>967</td>\n", | |
295 | + " <td>415</td>\n", | |
296 | + " <td>490</td>\n", | |
297 | + " <td>472</td>\n", | |
298 | + " <td>283</td>\n", | |
299 | + " </tr>\n", | |
300 | + " <tr>\n", | |
301 | + " <th>광진구</th>\n", | |
302 | + " <td>3211</td>\n", | |
303 | + " <td>35</td>\n", | |
304 | + " <td>57.0</td>\n", | |
305 | + " <td>100.0</td>\n", | |
306 | + " <td>187</td>\n", | |
307 | + " <td>98</td>\n", | |
308 | + " <td>52</td>\n", | |
309 | + " <td>675</td>\n", | |
310 | + " <td>465</td>\n", | |
311 | + " <td>712</td>\n", | |
312 | + " <td>175</td>\n", | |
313 | + " <td>655</td>\n", | |
314 | + " </tr>\n", | |
315 | + " </tbody>\n", | |
316 | + "</table>\n", | |
317 | + "</div>" | |
318 | + ], | |
319 | + "text/plain": [ | |
320 | + " 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 2019년 \\\n", | |
321 | + "구분 \n", | |
322 | + "종로구 1715 815 NaN NaN 195 150 0 261 85 9 \n", | |
323 | + "중구 2447 16 114.0 87.0 77 236 240 372 386 155 \n", | |
324 | + "용산구 2611 34 71.0 234.0 125 221 298 351 125 307 \n", | |
325 | + "성동구 3829 163 144.0 208.0 107 325 255 967 415 490 \n", | |
326 | + "광진구 3211 35 57.0 100.0 187 98 52 675 465 712 \n", | |
327 | + "\n", | |
328 | + " 2020년 2021년 \n", | |
329 | + "구분 \n", | |
330 | + "종로구 200 0 \n", | |
331 | + "중구 361 403 \n", | |
332 | + "용산구 617 228 \n", | |
333 | + "성동구 472 283 \n", | |
334 | + "광진구 175 655 " | |
335 | + ] | |
336 | + }, | |
337 | + "execution_count": 38, | |
338 | + "metadata": {}, | |
339 | + "output_type": "execute_result" | |
340 | + } | |
341 | + ], | |
342 | + "source": [ | |
343 | + "cctvData.drop('계', inplace=True)\n", | |
344 | + "cctvData.head()" | |
345 | + ] | |
346 | + }, | |
347 | + { | |
348 | + "cell_type": "code", | |
349 | + "execution_count": 39, | |
350 | + "id": "783465f1", | |
351 | + "metadata": {}, | |
352 | + "outputs": [ | |
353 | + { | |
354 | + "data": { | |
355 | + "text/html": [ | |
356 | + "<div>\n", | |
357 | + "<style scoped>\n", | |
358 | + " .dataframe tbody tr th:only-of-type {\n", | |
359 | + " vertical-align: middle;\n", | |
360 | + " }\n", | |
361 | + "\n", | |
362 | + " .dataframe tbody tr th {\n", | |
363 | + " vertical-align: top;\n", | |
364 | + " }\n", | |
365 | + "\n", | |
366 | + " .dataframe thead th {\n", | |
367 | + " text-align: right;\n", | |
368 | + " }\n", | |
369 | + "</style>\n", | |
370 | + "<table border=\"1\" class=\"dataframe\">\n", | |
371 | + " <thead>\n", | |
372 | + " <tr style=\"text-align: right;\">\n", | |
373 | + " <th></th>\n", | |
374 | + " <th>구분</th>\n", | |
375 | + " <th>총계</th>\n", | |
376 | + " <th>2012년 이전</th>\n", | |
377 | + " <th>2012년</th>\n", | |
378 | + " <th>2013년</th>\n", | |
379 | + " <th>2014년</th>\n", | |
380 | + " <th>2015년</th>\n", | |
381 | + " <th>2016년</th>\n", | |
382 | + " <th>2017년</th>\n", | |
383 | + " <th>2018년</th>\n", | |
384 | + " <th>2019년</th>\n", | |
385 | + " <th>2020년</th>\n", | |
386 | + " <th>2021년</th>\n", | |
387 | + " </tr>\n", | |
388 | + " </thead>\n", | |
389 | + " <tbody>\n", | |
390 | + " <tr>\n", | |
391 | + " <th>0</th>\n", | |
392 | + " <td>종로구</td>\n", | |
393 | + " <td>1715</td>\n", | |
394 | + " <td>815</td>\n", | |
395 | + " <td>NaN</td>\n", | |
396 | + " <td>NaN</td>\n", | |
397 | + " <td>195</td>\n", | |
398 | + " <td>150</td>\n", | |
399 | + " <td>0</td>\n", | |
400 | + " <td>261</td>\n", | |
401 | + " <td>85</td>\n", | |
402 | + " <td>9</td>\n", | |
403 | + " <td>200</td>\n", | |
404 | + " <td>0</td>\n", | |
405 | + " </tr>\n", | |
406 | + " <tr>\n", | |
407 | + " <th>1</th>\n", | |
408 | + " <td>중구</td>\n", | |
409 | + " <td>2447</td>\n", | |
410 | + " <td>16</td>\n", | |
411 | + " <td>114.0</td>\n", | |
412 | + " <td>87.0</td>\n", | |
413 | + " <td>77</td>\n", | |
414 | + " <td>236</td>\n", | |
415 | + " <td>240</td>\n", | |
416 | + " <td>372</td>\n", | |
417 | + " <td>386</td>\n", | |
418 | + " <td>155</td>\n", | |
419 | + " <td>361</td>\n", | |
420 | + " <td>403</td>\n", | |
421 | + " </tr>\n", | |
422 | + " <tr>\n", | |
423 | + " <th>2</th>\n", | |
424 | + " <td>용산구</td>\n", | |
425 | + " <td>2611</td>\n", | |
426 | + " <td>34</td>\n", | |
427 | + " <td>71.0</td>\n", | |
428 | + " <td>234.0</td>\n", | |
429 | + " <td>125</td>\n", | |
430 | + " <td>221</td>\n", | |
431 | + " <td>298</td>\n", | |
432 | + " <td>351</td>\n", | |
433 | + " <td>125</td>\n", | |
434 | + " <td>307</td>\n", | |
435 | + " <td>617</td>\n", | |
436 | + " <td>228</td>\n", | |
437 | + " </tr>\n", | |
438 | + " <tr>\n", | |
439 | + " <th>3</th>\n", | |
440 | + " <td>성동구</td>\n", | |
441 | + " <td>3829</td>\n", | |
442 | + " <td>163</td>\n", | |
443 | + " <td>144.0</td>\n", | |
444 | + " <td>208.0</td>\n", | |
445 | + " <td>107</td>\n", | |
446 | + " <td>325</td>\n", | |
447 | + " <td>255</td>\n", | |
448 | + " <td>967</td>\n", | |
449 | + " <td>415</td>\n", | |
450 | + " <td>490</td>\n", | |
451 | + " <td>472</td>\n", | |
452 | + " <td>283</td>\n", | |
453 | + " </tr>\n", | |
454 | + " <tr>\n", | |
455 | + " <th>4</th>\n", | |
456 | + " <td>광진구</td>\n", | |
457 | + " <td>3211</td>\n", | |
458 | + " <td>35</td>\n", | |
459 | + " <td>57.0</td>\n", | |
460 | + " <td>100.0</td>\n", | |
461 | + " <td>187</td>\n", | |
462 | + " <td>98</td>\n", | |
463 | + " <td>52</td>\n", | |
464 | + " <td>675</td>\n", | |
465 | + " <td>465</td>\n", | |
466 | + " <td>712</td>\n", | |
467 | + " <td>175</td>\n", | |
468 | + " <td>655</td>\n", | |
469 | + " </tr>\n", | |
470 | + " </tbody>\n", | |
471 | + "</table>\n", | |
472 | + "</div>" | |
473 | + ], | |
474 | + "text/plain": [ | |
475 | + " 구분 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
476 | + "0 종로구 1715 815 NaN NaN 195 150 0 261 85 \n", | |
477 | + "1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n", | |
478 | + "2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n", | |
479 | + "3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n", | |
480 | + "4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n", | |
481 | + "\n", | |
482 | + " 2019년 2020년 2021년 \n", | |
483 | + "0 9 200 0 \n", | |
484 | + "1 155 361 403 \n", | |
485 | + "2 307 617 228 \n", | |
486 | + "3 490 472 283 \n", | |
487 | + "4 712 175 655 " | |
488 | + ] | |
489 | + }, | |
490 | + "execution_count": 39, | |
491 | + "metadata": {}, | |
492 | + "output_type": "execute_result" | |
493 | + } | |
494 | + ], | |
495 | + "source": [ | |
496 | + "cctvData.reset_index(inplace=True)\n", | |
497 | + "cctvData.head()" | |
498 | + ] | |
499 | + }, | |
500 | + { | |
501 | + "cell_type": "code", | |
502 | + "execution_count": 40, | |
503 | + "id": "1cedd174", | |
504 | + "metadata": {}, | |
505 | + "outputs": [ | |
506 | + { | |
507 | + "data": { | |
508 | + "text/html": [ | |
509 | + "<div>\n", | |
510 | + "<style scoped>\n", | |
511 | + " .dataframe tbody tr th:only-of-type {\n", | |
512 | + " vertical-align: middle;\n", | |
513 | + " }\n", | |
514 | + "\n", | |
515 | + " .dataframe tbody tr th {\n", | |
516 | + " vertical-align: top;\n", | |
517 | + " }\n", | |
518 | + "\n", | |
519 | + " .dataframe thead th {\n", | |
520 | + " text-align: right;\n", | |
521 | + " }\n", | |
522 | + "</style>\n", | |
523 | + "<table border=\"1\" class=\"dataframe\">\n", | |
524 | + " <thead>\n", | |
525 | + " <tr style=\"text-align: right;\">\n", | |
526 | + " <th></th>\n", | |
527 | + " <th>구별</th>\n", | |
528 | + " <th>총계</th>\n", | |
529 | + " <th>2012년 이전</th>\n", | |
530 | + " <th>2012년</th>\n", | |
531 | + " <th>2013년</th>\n", | |
532 | + " <th>2014년</th>\n", | |
533 | + " <th>2015년</th>\n", | |
534 | + " <th>2016년</th>\n", | |
535 | + " <th>2017년</th>\n", | |
536 | + " <th>2018년</th>\n", | |
537 | + " <th>2019년</th>\n", | |
538 | + " <th>2020년</th>\n", | |
539 | + " <th>2021년</th>\n", | |
540 | + " </tr>\n", | |
541 | + " </thead>\n", | |
542 | + " <tbody>\n", | |
543 | + " <tr>\n", | |
544 | + " <th>0</th>\n", | |
545 | + " <td>종로구</td>\n", | |
546 | + " <td>1715</td>\n", | |
547 | + " <td>815</td>\n", | |
548 | + " <td>NaN</td>\n", | |
549 | + " <td>NaN</td>\n", | |
550 | + " <td>195</td>\n", | |
551 | + " <td>150</td>\n", | |
552 | + " <td>0</td>\n", | |
553 | + " <td>261</td>\n", | |
554 | + " <td>85</td>\n", | |
555 | + " <td>9</td>\n", | |
556 | + " <td>200</td>\n", | |
557 | + " <td>0</td>\n", | |
558 | + " </tr>\n", | |
559 | + " <tr>\n", | |
560 | + " <th>1</th>\n", | |
561 | + " <td>중구</td>\n", | |
562 | + " <td>2447</td>\n", | |
563 | + " <td>16</td>\n", | |
564 | + " <td>114.0</td>\n", | |
565 | + " <td>87.0</td>\n", | |
566 | + " <td>77</td>\n", | |
567 | + " <td>236</td>\n", | |
568 | + " <td>240</td>\n", | |
569 | + " <td>372</td>\n", | |
570 | + " <td>386</td>\n", | |
571 | + " <td>155</td>\n", | |
572 | + " <td>361</td>\n", | |
573 | + " <td>403</td>\n", | |
574 | + " </tr>\n", | |
575 | + " <tr>\n", | |
576 | + " <th>2</th>\n", | |
577 | + " <td>용산구</td>\n", | |
578 | + " <td>2611</td>\n", | |
579 | + " <td>34</td>\n", | |
580 | + " <td>71.0</td>\n", | |
581 | + " <td>234.0</td>\n", | |
582 | + " <td>125</td>\n", | |
583 | + " <td>221</td>\n", | |
584 | + " <td>298</td>\n", | |
585 | + " <td>351</td>\n", | |
586 | + " <td>125</td>\n", | |
587 | + " <td>307</td>\n", | |
588 | + " <td>617</td>\n", | |
589 | + " <td>228</td>\n", | |
590 | + " </tr>\n", | |
591 | + " <tr>\n", | |
592 | + " <th>3</th>\n", | |
593 | + " <td>성동구</td>\n", | |
594 | + " <td>3829</td>\n", | |
595 | + " <td>163</td>\n", | |
596 | + " <td>144.0</td>\n", | |
597 | + " <td>208.0</td>\n", | |
598 | + " <td>107</td>\n", | |
599 | + " <td>325</td>\n", | |
600 | + " <td>255</td>\n", | |
601 | + " <td>967</td>\n", | |
602 | + " <td>415</td>\n", | |
603 | + " <td>490</td>\n", | |
604 | + " <td>472</td>\n", | |
605 | + " <td>283</td>\n", | |
606 | + " </tr>\n", | |
607 | + " <tr>\n", | |
608 | + " <th>4</th>\n", | |
609 | + " <td>광진구</td>\n", | |
610 | + " <td>3211</td>\n", | |
611 | + " <td>35</td>\n", | |
612 | + " <td>57.0</td>\n", | |
613 | + " <td>100.0</td>\n", | |
614 | + " <td>187</td>\n", | |
615 | + " <td>98</td>\n", | |
616 | + " <td>52</td>\n", | |
617 | + " <td>675</td>\n", | |
618 | + " <td>465</td>\n", | |
619 | + " <td>712</td>\n", | |
620 | + " <td>175</td>\n", | |
621 | + " <td>655</td>\n", | |
622 | + " </tr>\n", | |
623 | + " </tbody>\n", | |
624 | + "</table>\n", | |
625 | + "</div>" | |
626 | + ], | |
627 | + "text/plain": [ | |
628 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
629 | + "0 종로구 1715 815 NaN NaN 195 150 0 261 85 \n", | |
630 | + "1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n", | |
631 | + "2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n", | |
632 | + "3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n", | |
633 | + "4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n", | |
634 | + "\n", | |
635 | + " 2019년 2020년 2021년 \n", | |
636 | + "0 9 200 0 \n", | |
637 | + "1 155 361 403 \n", | |
638 | + "2 307 617 228 \n", | |
639 | + "3 490 472 283 \n", | |
640 | + "4 712 175 655 " | |
641 | + ] | |
642 | + }, | |
643 | + "execution_count": 40, | |
644 | + "metadata": {}, | |
645 | + "output_type": "execute_result" | |
646 | + } | |
647 | + ], | |
648 | + "source": [ | |
649 | + "cctvData.rename(columns={'구분':'구별'}, inplace=True)\n", | |
650 | + "cctvData.head()" | |
651 | + ] | |
652 | + }, | |
653 | + { | |
654 | + "cell_type": "code", | |
655 | + "execution_count": 41, | |
656 | + "id": "db484ef5", | |
657 | + "metadata": { | |
658 | + "scrolled": true | |
659 | + }, | |
660 | + "outputs": [ | |
661 | + { | |
662 | + "data": { | |
663 | + "text/html": [ | |
664 | + "<div>\n", | |
665 | + "<style scoped>\n", | |
666 | + " .dataframe tbody tr th:only-of-type {\n", | |
667 | + " vertical-align: middle;\n", | |
668 | + " }\n", | |
669 | + "\n", | |
670 | + " .dataframe tbody tr th {\n", | |
671 | + " vertical-align: top;\n", | |
672 | + " }\n", | |
673 | + "\n", | |
674 | + " .dataframe thead th {\n", | |
675 | + " text-align: right;\n", | |
676 | + " }\n", | |
677 | + "</style>\n", | |
678 | + "<table border=\"1\" class=\"dataframe\">\n", | |
679 | + " <thead>\n", | |
680 | + " <tr style=\"text-align: right;\">\n", | |
681 | + " <th></th>\n", | |
682 | + " <th>자치구</th>\n", | |
683 | + " <th>계</th>\n", | |
684 | + " <th>계.1</th>\n", | |
685 | + " <th>계.2</th>\n", | |
686 | + " <th>65세이상고령자</th>\n", | |
687 | + " </tr>\n", | |
688 | + " </thead>\n", | |
689 | + " <tbody>\n", | |
690 | + " <tr>\n", | |
691 | + " <th>0</th>\n", | |
692 | + " <td>합계</td>\n", | |
693 | + " <td>9736027</td>\n", | |
694 | + " <td>9509458</td>\n", | |
695 | + " <td>226569</td>\n", | |
696 | + " <td>1605416</td>\n", | |
697 | + " </tr>\n", | |
698 | + " <tr>\n", | |
699 | + " <th>1</th>\n", | |
700 | + " <td>종로구</td>\n", | |
701 | + " <td>153789</td>\n", | |
702 | + " <td>144683</td>\n", | |
703 | + " <td>9106</td>\n", | |
704 | + " <td>27818</td>\n", | |
705 | + " </tr>\n", | |
706 | + " <tr>\n", | |
707 | + " <th>2</th>\n", | |
708 | + " <td>중구</td>\n", | |
709 | + " <td>131787</td>\n", | |
710 | + " <td>122499</td>\n", | |
711 | + " <td>9288</td>\n", | |
712 | + " <td>24392</td>\n", | |
713 | + " </tr>\n", | |
714 | + " <tr>\n", | |
715 | + " <th>3</th>\n", | |
716 | + " <td>용산구</td>\n", | |
717 | + " <td>237285</td>\n", | |
718 | + " <td>222953</td>\n", | |
719 | + " <td>14332</td>\n", | |
720 | + " <td>39070</td>\n", | |
721 | + " </tr>\n", | |
722 | + " <tr>\n", | |
723 | + " <th>4</th>\n", | |
724 | + " <td>성동구</td>\n", | |
725 | + " <td>292672</td>\n", | |
726 | + " <td>285990</td>\n", | |
727 | + " <td>6682</td>\n", | |
728 | + " <td>46380</td>\n", | |
729 | + " </tr>\n", | |
730 | + " </tbody>\n", | |
731 | + "</table>\n", | |
732 | + "</div>" | |
733 | + ], | |
734 | + "text/plain": [ | |
735 | + " 자치구 계 계.1 계.2 65세이상고령자\n", | |
736 | + "0 합계 9736027 9509458 226569 1605416\n", | |
737 | + "1 종로구 153789 144683 9106 27818\n", | |
738 | + "2 중구 131787 122499 9288 24392\n", | |
739 | + "3 용산구 237285 222953 14332 39070\n", | |
740 | + "4 성동구 292672 285990 6682 46380" | |
741 | + ] | |
742 | + }, | |
743 | + "execution_count": 41, | |
744 | + "metadata": {}, | |
745 | + "output_type": "execute_result" | |
746 | + } | |
747 | + ], | |
748 | + "source": [ | |
749 | + "popData = pd.read_excel('./seoul_population.xls', header=2, usecols='B, D, G, J, N')\n", | |
750 | + "popData.head()" | |
751 | + ] | |
752 | + }, | |
753 | + { | |
754 | + "cell_type": "code", | |
755 | + "execution_count": 42, | |
756 | + "id": "3d54312e", | |
757 | + "metadata": {}, | |
758 | + "outputs": [], | |
759 | + "source": [ | |
760 | + "popData.rename(columns={'자치구':'구별', '계':'인구수', '계.1':'한국인', '계.2':'외국인', '65세이상고령자':'고령자'}, inplace=True)" | |
761 | + ] | |
762 | + }, | |
763 | + { | |
764 | + "cell_type": "code", | |
765 | + "execution_count": 43, | |
766 | + "id": "b055fd00", | |
767 | + "metadata": {}, | |
768 | + "outputs": [ | |
769 | + { | |
770 | + "data": { | |
771 | + "text/html": [ | |
772 | + "<div>\n", | |
773 | + "<style scoped>\n", | |
774 | + " .dataframe tbody tr th:only-of-type {\n", | |
775 | + " vertical-align: middle;\n", | |
776 | + " }\n", | |
777 | + "\n", | |
778 | + " .dataframe tbody tr th {\n", | |
779 | + " vertical-align: top;\n", | |
780 | + " }\n", | |
781 | + "\n", | |
782 | + " .dataframe thead th {\n", | |
783 | + " text-align: right;\n", | |
784 | + " }\n", | |
785 | + "</style>\n", | |
786 | + "<table border=\"1\" class=\"dataframe\">\n", | |
787 | + " <thead>\n", | |
788 | + " <tr style=\"text-align: right;\">\n", | |
789 | + " <th></th>\n", | |
790 | + " <th>구별</th>\n", | |
791 | + " <th>인구수</th>\n", | |
792 | + " <th>한국인</th>\n", | |
793 | + " <th>외국인</th>\n", | |
794 | + " <th>고령자</th>\n", | |
795 | + " </tr>\n", | |
796 | + " </thead>\n", | |
797 | + " <tbody>\n", | |
798 | + " <tr>\n", | |
799 | + " <th>0</th>\n", | |
800 | + " <td>합계</td>\n", | |
801 | + " <td>9736027</td>\n", | |
802 | + " <td>9509458</td>\n", | |
803 | + " <td>226569</td>\n", | |
804 | + " <td>1605416</td>\n", | |
805 | + " </tr>\n", | |
806 | + " <tr>\n", | |
807 | + " <th>1</th>\n", | |
808 | + " <td>종로구</td>\n", | |
809 | + " <td>153789</td>\n", | |
810 | + " <td>144683</td>\n", | |
811 | + " <td>9106</td>\n", | |
812 | + " <td>27818</td>\n", | |
813 | + " </tr>\n", | |
814 | + " <tr>\n", | |
815 | + " <th>2</th>\n", | |
816 | + " <td>중구</td>\n", | |
817 | + " <td>131787</td>\n", | |
818 | + " <td>122499</td>\n", | |
819 | + " <td>9288</td>\n", | |
820 | + " <td>24392</td>\n", | |
821 | + " </tr>\n", | |
822 | + " <tr>\n", | |
823 | + " <th>3</th>\n", | |
824 | + " <td>용산구</td>\n", | |
825 | + " <td>237285</td>\n", | |
826 | + " <td>222953</td>\n", | |
827 | + " <td>14332</td>\n", | |
828 | + " <td>39070</td>\n", | |
829 | + " </tr>\n", | |
830 | + " <tr>\n", | |
831 | + " <th>4</th>\n", | |
832 | + " <td>성동구</td>\n", | |
833 | + " <td>292672</td>\n", | |
834 | + " <td>285990</td>\n", | |
835 | + " <td>6682</td>\n", | |
836 | + " <td>46380</td>\n", | |
837 | + " </tr>\n", | |
838 | + " </tbody>\n", | |
839 | + "</table>\n", | |
840 | + "</div>" | |
841 | + ], | |
842 | + "text/plain": [ | |
843 | + " 구별 인구수 한국인 외국인 고령자\n", | |
844 | + "0 합계 9736027 9509458 226569 1605416\n", | |
845 | + "1 종로구 153789 144683 9106 27818\n", | |
846 | + "2 중구 131787 122499 9288 24392\n", | |
847 | + "3 용산구 237285 222953 14332 39070\n", | |
848 | + "4 성동구 292672 285990 6682 46380" | |
849 | + ] | |
850 | + }, | |
851 | + "execution_count": 43, | |
852 | + "metadata": {}, | |
853 | + "output_type": "execute_result" | |
854 | + } | |
855 | + ], | |
856 | + "source": [ | |
857 | + "popData.head()" | |
858 | + ] | |
859 | + }, | |
860 | + { | |
861 | + "cell_type": "code", | |
862 | + "execution_count": 44, | |
863 | + "id": "1155ded1", | |
864 | + "metadata": {}, | |
865 | + "outputs": [ | |
866 | + { | |
867 | + "data": { | |
868 | + "text/html": [ | |
869 | + "<div>\n", | |
870 | + "<style scoped>\n", | |
871 | + " .dataframe tbody tr th:only-of-type {\n", | |
872 | + " vertical-align: middle;\n", | |
873 | + " }\n", | |
874 | + "\n", | |
875 | + " .dataframe tbody tr th {\n", | |
876 | + " vertical-align: top;\n", | |
877 | + " }\n", | |
878 | + "\n", | |
879 | + " .dataframe thead th {\n", | |
880 | + " text-align: right;\n", | |
881 | + " }\n", | |
882 | + "</style>\n", | |
883 | + "<table border=\"1\" class=\"dataframe\">\n", | |
884 | + " <thead>\n", | |
885 | + " <tr style=\"text-align: right;\">\n", | |
886 | + " <th></th>\n", | |
887 | + " <th>구별</th>\n", | |
888 | + " <th>총계</th>\n", | |
889 | + " <th>2012년 이전</th>\n", | |
890 | + " <th>2012년</th>\n", | |
891 | + " <th>2013년</th>\n", | |
892 | + " <th>2014년</th>\n", | |
893 | + " <th>2015년</th>\n", | |
894 | + " <th>2016년</th>\n", | |
895 | + " <th>2017년</th>\n", | |
896 | + " <th>2018년</th>\n", | |
897 | + " <th>2019년</th>\n", | |
898 | + " <th>2020년</th>\n", | |
899 | + " <th>2021년</th>\n", | |
900 | + " </tr>\n", | |
901 | + " </thead>\n", | |
902 | + " <tbody>\n", | |
903 | + " <tr>\n", | |
904 | + " <th>22</th>\n", | |
905 | + " <td>강남구</td>\n", | |
906 | + " <td>6871</td>\n", | |
907 | + " <td>69</td>\n", | |
908 | + " <td>67.0</td>\n", | |
909 | + " <td>66.0</td>\n", | |
910 | + " <td>580</td>\n", | |
911 | + " <td>830</td>\n", | |
912 | + " <td>1293</td>\n", | |
913 | + " <td>988</td>\n", | |
914 | + " <td>745</td>\n", | |
915 | + " <td>791</td>\n", | |
916 | + " <td>926</td>\n", | |
917 | + " <td>516</td>\n", | |
918 | + " </tr>\n", | |
919 | + " <tr>\n", | |
920 | + " <th>20</th>\n", | |
921 | + " <td>관악구</td>\n", | |
922 | + " <td>5149</td>\n", | |
923 | + " <td>440</td>\n", | |
924 | + " <td>84.0</td>\n", | |
925 | + " <td>431.0</td>\n", | |
926 | + " <td>439</td>\n", | |
927 | + " <td>609</td>\n", | |
928 | + " <td>622</td>\n", | |
929 | + " <td>688</td>\n", | |
930 | + " <td>674</td>\n", | |
931 | + " <td>595</td>\n", | |
932 | + " <td>331</td>\n", | |
933 | + " <td>236</td>\n", | |
934 | + " </tr>\n", | |
935 | + " <tr>\n", | |
936 | + " <th>16</th>\n", | |
937 | + " <td>구로구</td>\n", | |
938 | + " <td>4608</td>\n", | |
939 | + " <td>852</td>\n", | |
940 | + " <td>216.0</td>\n", | |
941 | + " <td>349.0</td>\n", | |
942 | + " <td>187</td>\n", | |
943 | + " <td>268</td>\n", | |
944 | + " <td>326</td>\n", | |
945 | + " <td>540</td>\n", | |
946 | + " <td>488</td>\n", | |
947 | + " <td>434</td>\n", | |
948 | + " <td>415</td>\n", | |
949 | + " <td>533</td>\n", | |
950 | + " </tr>\n", | |
951 | + " <tr>\n", | |
952 | + " <th>7</th>\n", | |
953 | + " <td>성북구</td>\n", | |
954 | + " <td>4602</td>\n", | |
955 | + " <td>81</td>\n", | |
956 | + " <td>78.0</td>\n", | |
957 | + " <td>170.0</td>\n", | |
958 | + " <td>229</td>\n", | |
959 | + " <td>322</td>\n", | |
960 | + " <td>594</td>\n", | |
961 | + " <td>890</td>\n", | |
962 | + " <td>867</td>\n", | |
963 | + " <td>714</td>\n", | |
964 | + " <td>253</td>\n", | |
965 | + " <td>404</td>\n", | |
966 | + " </tr>\n", | |
967 | + " <tr>\n", | |
968 | + " <th>11</th>\n", | |
969 | + " <td>은평구</td>\n", | |
970 | + " <td>4131</td>\n", | |
971 | + " <td>14</td>\n", | |
972 | + " <td>3.0</td>\n", | |
973 | + " <td>44.0</td>\n", | |
974 | + " <td>332</td>\n", | |
975 | + " <td>329</td>\n", | |
976 | + " <td>555</td>\n", | |
977 | + " <td>403</td>\n", | |
978 | + " <td>635</td>\n", | |
979 | + " <td>1057</td>\n", | |
980 | + " <td>288</td>\n", | |
981 | + " <td>471</td>\n", | |
982 | + " </tr>\n", | |
983 | + " </tbody>\n", | |
984 | + "</table>\n", | |
985 | + "</div>" | |
986 | + ], | |
987 | + "text/plain": [ | |
988 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
989 | + "22 강남구 6871 69 67.0 66.0 580 830 1293 988 745 \n", | |
990 | + "20 관악구 5149 440 84.0 431.0 439 609 622 688 674 \n", | |
991 | + "16 구로구 4608 852 216.0 349.0 187 268 326 540 488 \n", | |
992 | + "7 성북구 4602 81 78.0 170.0 229 322 594 890 867 \n", | |
993 | + "11 은평구 4131 14 3.0 44.0 332 329 555 403 635 \n", | |
994 | + "\n", | |
995 | + " 2019년 2020년 2021년 \n", | |
996 | + "22 791 926 516 \n", | |
997 | + "20 595 331 236 \n", | |
998 | + "16 434 415 533 \n", | |
999 | + "7 714 253 404 \n", | |
1000 | + "11 1057 288 471 " | |
1001 | + ] | |
1002 | + }, | |
1003 | + "execution_count": 44, | |
1004 | + "metadata": {}, | |
1005 | + "output_type": "execute_result" | |
1006 | + } | |
1007 | + ], | |
1008 | + "source": [ | |
1009 | + "cctvData.sort_values(by='총계', ascending=False).head()" | |
1010 | + ] | |
1011 | + }, | |
1012 | + { | |
1013 | + "cell_type": "markdown", | |
1014 | + "id": "c19ff9a5", | |
1015 | + "metadata": {}, | |
1016 | + "source": [ | |
1017 | + "# 결측치 확인" | |
1018 | + ] | |
1019 | + }, | |
1020 | + { | |
1021 | + "cell_type": "code", | |
1022 | + "execution_count": 45, | |
1023 | + "id": "f5ae607d", | |
1024 | + "metadata": { | |
1025 | + "scrolled": true | |
1026 | + }, | |
1027 | + "outputs": [ | |
1028 | + { | |
1029 | + "data": { | |
1030 | + "text/html": [ | |
1031 | + "<div>\n", | |
1032 | + "<style scoped>\n", | |
1033 | + " .dataframe tbody tr th:only-of-type {\n", | |
1034 | + " vertical-align: middle;\n", | |
1035 | + " }\n", | |
1036 | + "\n", | |
1037 | + " .dataframe tbody tr th {\n", | |
1038 | + " vertical-align: top;\n", | |
1039 | + " }\n", | |
1040 | + "\n", | |
1041 | + " .dataframe thead th {\n", | |
1042 | + " text-align: right;\n", | |
1043 | + " }\n", | |
1044 | + "</style>\n", | |
1045 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1046 | + " <thead>\n", | |
1047 | + " <tr style=\"text-align: right;\">\n", | |
1048 | + " <th></th>\n", | |
1049 | + " <th>구별</th>\n", | |
1050 | + " <th>총계</th>\n", | |
1051 | + " <th>2012년 이전</th>\n", | |
1052 | + " <th>2012년</th>\n", | |
1053 | + " <th>2013년</th>\n", | |
1054 | + " <th>2014년</th>\n", | |
1055 | + " <th>2015년</th>\n", | |
1056 | + " <th>2016년</th>\n", | |
1057 | + " <th>2017년</th>\n", | |
1058 | + " <th>2018년</th>\n", | |
1059 | + " <th>2019년</th>\n", | |
1060 | + " <th>2020년</th>\n", | |
1061 | + " <th>2021년</th>\n", | |
1062 | + " </tr>\n", | |
1063 | + " </thead>\n", | |
1064 | + " <tbody>\n", | |
1065 | + " <tr>\n", | |
1066 | + " <th>0</th>\n", | |
1067 | + " <td>False</td>\n", | |
1068 | + " <td>False</td>\n", | |
1069 | + " <td>False</td>\n", | |
1070 | + " <td>True</td>\n", | |
1071 | + " <td>True</td>\n", | |
1072 | + " <td>False</td>\n", | |
1073 | + " <td>False</td>\n", | |
1074 | + " <td>False</td>\n", | |
1075 | + " <td>False</td>\n", | |
1076 | + " <td>False</td>\n", | |
1077 | + " <td>False</td>\n", | |
1078 | + " <td>False</td>\n", | |
1079 | + " <td>False</td>\n", | |
1080 | + " </tr>\n", | |
1081 | + " <tr>\n", | |
1082 | + " <th>1</th>\n", | |
1083 | + " <td>False</td>\n", | |
1084 | + " <td>False</td>\n", | |
1085 | + " <td>False</td>\n", | |
1086 | + " <td>False</td>\n", | |
1087 | + " <td>False</td>\n", | |
1088 | + " <td>False</td>\n", | |
1089 | + " <td>False</td>\n", | |
1090 | + " <td>False</td>\n", | |
1091 | + " <td>False</td>\n", | |
1092 | + " <td>False</td>\n", | |
1093 | + " <td>False</td>\n", | |
1094 | + " <td>False</td>\n", | |
1095 | + " <td>False</td>\n", | |
1096 | + " </tr>\n", | |
1097 | + " <tr>\n", | |
1098 | + " <th>2</th>\n", | |
1099 | + " <td>False</td>\n", | |
1100 | + " <td>False</td>\n", | |
1101 | + " <td>False</td>\n", | |
1102 | + " <td>False</td>\n", | |
1103 | + " <td>False</td>\n", | |
1104 | + " <td>False</td>\n", | |
1105 | + " <td>False</td>\n", | |
1106 | + " <td>False</td>\n", | |
1107 | + " <td>False</td>\n", | |
1108 | + " <td>False</td>\n", | |
1109 | + " <td>False</td>\n", | |
1110 | + " <td>False</td>\n", | |
1111 | + " <td>False</td>\n", | |
1112 | + " </tr>\n", | |
1113 | + " <tr>\n", | |
1114 | + " <th>3</th>\n", | |
1115 | + " <td>False</td>\n", | |
1116 | + " <td>False</td>\n", | |
1117 | + " <td>False</td>\n", | |
1118 | + " <td>False</td>\n", | |
1119 | + " <td>False</td>\n", | |
1120 | + " <td>False</td>\n", | |
1121 | + " <td>False</td>\n", | |
1122 | + " <td>False</td>\n", | |
1123 | + " <td>False</td>\n", | |
1124 | + " <td>False</td>\n", | |
1125 | + " <td>False</td>\n", | |
1126 | + " <td>False</td>\n", | |
1127 | + " <td>False</td>\n", | |
1128 | + " </tr>\n", | |
1129 | + " <tr>\n", | |
1130 | + " <th>4</th>\n", | |
1131 | + " <td>False</td>\n", | |
1132 | + " <td>False</td>\n", | |
1133 | + " <td>False</td>\n", | |
1134 | + " <td>False</td>\n", | |
1135 | + " <td>False</td>\n", | |
1136 | + " <td>False</td>\n", | |
1137 | + " <td>False</td>\n", | |
1138 | + " <td>False</td>\n", | |
1139 | + " <td>False</td>\n", | |
1140 | + " <td>False</td>\n", | |
1141 | + " <td>False</td>\n", | |
1142 | + " <td>False</td>\n", | |
1143 | + " <td>False</td>\n", | |
1144 | + " </tr>\n", | |
1145 | + " </tbody>\n", | |
1146 | + "</table>\n", | |
1147 | + "</div>" | |
1148 | + ], | |
1149 | + "text/plain": [ | |
1150 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
1151 | + "0 False False False True True False False False False False \n", | |
1152 | + "1 False False False False False False False False False False \n", | |
1153 | + "2 False False False False False False False False False False \n", | |
1154 | + "3 False False False False False False False False False False \n", | |
1155 | + "4 False False False False False False False False False False \n", | |
1156 | + "\n", | |
1157 | + " 2019년 2020년 2021년 \n", | |
1158 | + "0 False False False \n", | |
1159 | + "1 False False False \n", | |
1160 | + "2 False False False \n", | |
1161 | + "3 False False False \n", | |
1162 | + "4 False False False " | |
1163 | + ] | |
1164 | + }, | |
1165 | + "execution_count": 45, | |
1166 | + "metadata": {}, | |
1167 | + "output_type": "execute_result" | |
1168 | + } | |
1169 | + ], | |
1170 | + "source": [ | |
1171 | + "cctvData.isnull().head()" | |
1172 | + ] | |
1173 | + }, | |
1174 | + { | |
1175 | + "cell_type": "markdown", | |
1176 | + "id": "8870c6b9", | |
1177 | + "metadata": {}, | |
1178 | + "source": [ | |
1179 | + "# 결측치 -> 0" | |
1180 | + ] | |
1181 | + }, | |
1182 | + { | |
1183 | + "cell_type": "code", | |
1184 | + "execution_count": 46, | |
1185 | + "id": "0a55bfc0", | |
1186 | + "metadata": {}, | |
1187 | + "outputs": [], | |
1188 | + "source": [ | |
1189 | + "cctvData = cctvData.fillna(0)" | |
1190 | + ] | |
1191 | + }, | |
1192 | + { | |
1193 | + "cell_type": "code", | |
1194 | + "execution_count": 47, | |
1195 | + "id": "2d93fa68", | |
1196 | + "metadata": {}, | |
1197 | + "outputs": [ | |
1198 | + { | |
1199 | + "data": { | |
1200 | + "text/html": [ | |
1201 | + "<div>\n", | |
1202 | + "<style scoped>\n", | |
1203 | + " .dataframe tbody tr th:only-of-type {\n", | |
1204 | + " vertical-align: middle;\n", | |
1205 | + " }\n", | |
1206 | + "\n", | |
1207 | + " .dataframe tbody tr th {\n", | |
1208 | + " vertical-align: top;\n", | |
1209 | + " }\n", | |
1210 | + "\n", | |
1211 | + " .dataframe thead th {\n", | |
1212 | + " text-align: right;\n", | |
1213 | + " }\n", | |
1214 | + "</style>\n", | |
1215 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1216 | + " <thead>\n", | |
1217 | + " <tr style=\"text-align: right;\">\n", | |
1218 | + " <th></th>\n", | |
1219 | + " <th>구별</th>\n", | |
1220 | + " <th>총계</th>\n", | |
1221 | + " <th>2012년 이전</th>\n", | |
1222 | + " <th>2012년</th>\n", | |
1223 | + " <th>2013년</th>\n", | |
1224 | + " <th>2014년</th>\n", | |
1225 | + " <th>2015년</th>\n", | |
1226 | + " <th>2016년</th>\n", | |
1227 | + " <th>2017년</th>\n", | |
1228 | + " <th>2018년</th>\n", | |
1229 | + " <th>2019년</th>\n", | |
1230 | + " <th>2020년</th>\n", | |
1231 | + " <th>2021년</th>\n", | |
1232 | + " </tr>\n", | |
1233 | + " </thead>\n", | |
1234 | + " <tbody>\n", | |
1235 | + " <tr>\n", | |
1236 | + " <th>0</th>\n", | |
1237 | + " <td>종로구</td>\n", | |
1238 | + " <td>1715</td>\n", | |
1239 | + " <td>815</td>\n", | |
1240 | + " <td>0.0</td>\n", | |
1241 | + " <td>0.0</td>\n", | |
1242 | + " <td>195</td>\n", | |
1243 | + " <td>150</td>\n", | |
1244 | + " <td>0</td>\n", | |
1245 | + " <td>261</td>\n", | |
1246 | + " <td>85</td>\n", | |
1247 | + " <td>9</td>\n", | |
1248 | + " <td>200</td>\n", | |
1249 | + " <td>0</td>\n", | |
1250 | + " </tr>\n", | |
1251 | + " <tr>\n", | |
1252 | + " <th>1</th>\n", | |
1253 | + " <td>중구</td>\n", | |
1254 | + " <td>2447</td>\n", | |
1255 | + " <td>16</td>\n", | |
1256 | + " <td>114.0</td>\n", | |
1257 | + " <td>87.0</td>\n", | |
1258 | + " <td>77</td>\n", | |
1259 | + " <td>236</td>\n", | |
1260 | + " <td>240</td>\n", | |
1261 | + " <td>372</td>\n", | |
1262 | + " <td>386</td>\n", | |
1263 | + " <td>155</td>\n", | |
1264 | + " <td>361</td>\n", | |
1265 | + " <td>403</td>\n", | |
1266 | + " </tr>\n", | |
1267 | + " <tr>\n", | |
1268 | + " <th>2</th>\n", | |
1269 | + " <td>용산구</td>\n", | |
1270 | + " <td>2611</td>\n", | |
1271 | + " <td>34</td>\n", | |
1272 | + " <td>71.0</td>\n", | |
1273 | + " <td>234.0</td>\n", | |
1274 | + " <td>125</td>\n", | |
1275 | + " <td>221</td>\n", | |
1276 | + " <td>298</td>\n", | |
1277 | + " <td>351</td>\n", | |
1278 | + " <td>125</td>\n", | |
1279 | + " <td>307</td>\n", | |
1280 | + " <td>617</td>\n", | |
1281 | + " <td>228</td>\n", | |
1282 | + " </tr>\n", | |
1283 | + " <tr>\n", | |
1284 | + " <th>3</th>\n", | |
1285 | + " <td>성동구</td>\n", | |
1286 | + " <td>3829</td>\n", | |
1287 | + " <td>163</td>\n", | |
1288 | + " <td>144.0</td>\n", | |
1289 | + " <td>208.0</td>\n", | |
1290 | + " <td>107</td>\n", | |
1291 | + " <td>325</td>\n", | |
1292 | + " <td>255</td>\n", | |
1293 | + " <td>967</td>\n", | |
1294 | + " <td>415</td>\n", | |
1295 | + " <td>490</td>\n", | |
1296 | + " <td>472</td>\n", | |
1297 | + " <td>283</td>\n", | |
1298 | + " </tr>\n", | |
1299 | + " <tr>\n", | |
1300 | + " <th>4</th>\n", | |
1301 | + " <td>광진구</td>\n", | |
1302 | + " <td>3211</td>\n", | |
1303 | + " <td>35</td>\n", | |
1304 | + " <td>57.0</td>\n", | |
1305 | + " <td>100.0</td>\n", | |
1306 | + " <td>187</td>\n", | |
1307 | + " <td>98</td>\n", | |
1308 | + " <td>52</td>\n", | |
1309 | + " <td>675</td>\n", | |
1310 | + " <td>465</td>\n", | |
1311 | + " <td>712</td>\n", | |
1312 | + " <td>175</td>\n", | |
1313 | + " <td>655</td>\n", | |
1314 | + " </tr>\n", | |
1315 | + " </tbody>\n", | |
1316 | + "</table>\n", | |
1317 | + "</div>" | |
1318 | + ], | |
1319 | + "text/plain": [ | |
1320 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
1321 | + "0 종로구 1715 815 0.0 0.0 195 150 0 261 85 \n", | |
1322 | + "1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n", | |
1323 | + "2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n", | |
1324 | + "3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n", | |
1325 | + "4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n", | |
1326 | + "\n", | |
1327 | + " 2019년 2020년 2021년 \n", | |
1328 | + "0 9 200 0 \n", | |
1329 | + "1 155 361 403 \n", | |
1330 | + "2 307 617 228 \n", | |
1331 | + "3 490 472 283 \n", | |
1332 | + "4 712 175 655 " | |
1333 | + ] | |
1334 | + }, | |
1335 | + "execution_count": 47, | |
1336 | + "metadata": {}, | |
1337 | + "output_type": "execute_result" | |
1338 | + } | |
1339 | + ], | |
1340 | + "source": [ | |
1341 | + "cctvData.head()" | |
1342 | + ] | |
1343 | + }, | |
1344 | + { | |
1345 | + "cell_type": "code", | |
1346 | + "execution_count": 48, | |
1347 | + "id": "154242e7", | |
1348 | + "metadata": {}, | |
1349 | + "outputs": [], | |
1350 | + "source": [ | |
1351 | + "for col in cctvData.columns:\n", | |
1352 | + " if col == '구별':\n", | |
1353 | + " continue\n", | |
1354 | + " else:\n", | |
1355 | + " cctvData[col] = pd.to_numeric(cctvData[col])" | |
1356 | + ] | |
1357 | + }, | |
1358 | + { | |
1359 | + "cell_type": "code", | |
1360 | + "execution_count": 49, | |
1361 | + "id": "326eedd9", | |
1362 | + "metadata": { | |
1363 | + "scrolled": true | |
1364 | + }, | |
1365 | + "outputs": [], | |
1366 | + "source": [ | |
1367 | + "cctvData['최근증가율'] = ( (cctvData['2021년'] + cctvData['2020년'] + cctvData['2019년'] + cctvData['2018년'] + cctvData['2017년']) / (cctvData['2016년'] + cctvData['2015년'] + cctvData['2014년'] + cctvData['2013년'] + cctvData['2012년'] + cctvData['2012년 이전']) ) * 100" | |
1368 | + ] | |
1369 | + }, | |
1370 | + { | |
1371 | + "cell_type": "code", | |
1372 | + "execution_count": 50, | |
1373 | + "id": "ae114acf", | |
1374 | + "metadata": {}, | |
1375 | + "outputs": [ | |
1376 | + { | |
1377 | + "data": { | |
1378 | + "text/html": [ | |
1379 | + "<div>\n", | |
1380 | + "<style scoped>\n", | |
1381 | + " .dataframe tbody tr th:only-of-type {\n", | |
1382 | + " vertical-align: middle;\n", | |
1383 | + " }\n", | |
1384 | + "\n", | |
1385 | + " .dataframe tbody tr th {\n", | |
1386 | + " vertical-align: top;\n", | |
1387 | + " }\n", | |
1388 | + "\n", | |
1389 | + " .dataframe thead th {\n", | |
1390 | + " text-align: right;\n", | |
1391 | + " }\n", | |
1392 | + "</style>\n", | |
1393 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1394 | + " <thead>\n", | |
1395 | + " <tr style=\"text-align: right;\">\n", | |
1396 | + " <th></th>\n", | |
1397 | + " <th>구별</th>\n", | |
1398 | + " <th>총계</th>\n", | |
1399 | + " <th>2012년 이전</th>\n", | |
1400 | + " <th>2012년</th>\n", | |
1401 | + " <th>2013년</th>\n", | |
1402 | + " <th>2014년</th>\n", | |
1403 | + " <th>2015년</th>\n", | |
1404 | + " <th>2016년</th>\n", | |
1405 | + " <th>2017년</th>\n", | |
1406 | + " <th>2018년</th>\n", | |
1407 | + " <th>2019년</th>\n", | |
1408 | + " <th>2020년</th>\n", | |
1409 | + " <th>2021년</th>\n", | |
1410 | + " <th>최근증가율</th>\n", | |
1411 | + " </tr>\n", | |
1412 | + " </thead>\n", | |
1413 | + " <tbody>\n", | |
1414 | + " <tr>\n", | |
1415 | + " <th>0</th>\n", | |
1416 | + " <td>종로구</td>\n", | |
1417 | + " <td>1715</td>\n", | |
1418 | + " <td>815</td>\n", | |
1419 | + " <td>0.0</td>\n", | |
1420 | + " <td>0.0</td>\n", | |
1421 | + " <td>195</td>\n", | |
1422 | + " <td>150</td>\n", | |
1423 | + " <td>0</td>\n", | |
1424 | + " <td>261</td>\n", | |
1425 | + " <td>85</td>\n", | |
1426 | + " <td>9</td>\n", | |
1427 | + " <td>200</td>\n", | |
1428 | + " <td>0</td>\n", | |
1429 | + " <td>47.844828</td>\n", | |
1430 | + " </tr>\n", | |
1431 | + " <tr>\n", | |
1432 | + " <th>1</th>\n", | |
1433 | + " <td>중구</td>\n", | |
1434 | + " <td>2447</td>\n", | |
1435 | + " <td>16</td>\n", | |
1436 | + " <td>114.0</td>\n", | |
1437 | + " <td>87.0</td>\n", | |
1438 | + " <td>77</td>\n", | |
1439 | + " <td>236</td>\n", | |
1440 | + " <td>240</td>\n", | |
1441 | + " <td>372</td>\n", | |
1442 | + " <td>386</td>\n", | |
1443 | + " <td>155</td>\n", | |
1444 | + " <td>361</td>\n", | |
1445 | + " <td>403</td>\n", | |
1446 | + " <td>217.792208</td>\n", | |
1447 | + " </tr>\n", | |
1448 | + " <tr>\n", | |
1449 | + " <th>2</th>\n", | |
1450 | + " <td>용산구</td>\n", | |
1451 | + " <td>2611</td>\n", | |
1452 | + " <td>34</td>\n", | |
1453 | + " <td>71.0</td>\n", | |
1454 | + " <td>234.0</td>\n", | |
1455 | + " <td>125</td>\n", | |
1456 | + " <td>221</td>\n", | |
1457 | + " <td>298</td>\n", | |
1458 | + " <td>351</td>\n", | |
1459 | + " <td>125</td>\n", | |
1460 | + " <td>307</td>\n", | |
1461 | + " <td>617</td>\n", | |
1462 | + " <td>228</td>\n", | |
1463 | + " <td>165.615463</td>\n", | |
1464 | + " </tr>\n", | |
1465 | + " <tr>\n", | |
1466 | + " <th>3</th>\n", | |
1467 | + " <td>성동구</td>\n", | |
1468 | + " <td>3829</td>\n", | |
1469 | + " <td>163</td>\n", | |
1470 | + " <td>144.0</td>\n", | |
1471 | + " <td>208.0</td>\n", | |
1472 | + " <td>107</td>\n", | |
1473 | + " <td>325</td>\n", | |
1474 | + " <td>255</td>\n", | |
1475 | + " <td>967</td>\n", | |
1476 | + " <td>415</td>\n", | |
1477 | + " <td>490</td>\n", | |
1478 | + " <td>472</td>\n", | |
1479 | + " <td>283</td>\n", | |
1480 | + " <td>218.552413</td>\n", | |
1481 | + " </tr>\n", | |
1482 | + " <tr>\n", | |
1483 | + " <th>4</th>\n", | |
1484 | + " <td>광진구</td>\n", | |
1485 | + " <td>3211</td>\n", | |
1486 | + " <td>35</td>\n", | |
1487 | + " <td>57.0</td>\n", | |
1488 | + " <td>100.0</td>\n", | |
1489 | + " <td>187</td>\n", | |
1490 | + " <td>98</td>\n", | |
1491 | + " <td>52</td>\n", | |
1492 | + " <td>675</td>\n", | |
1493 | + " <td>465</td>\n", | |
1494 | + " <td>712</td>\n", | |
1495 | + " <td>175</td>\n", | |
1496 | + " <td>655</td>\n", | |
1497 | + " <td>506.994329</td>\n", | |
1498 | + " </tr>\n", | |
1499 | + " </tbody>\n", | |
1500 | + "</table>\n", | |
1501 | + "</div>" | |
1502 | + ], | |
1503 | + "text/plain": [ | |
1504 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
1505 | + "0 종로구 1715 815 0.0 0.0 195 150 0 261 85 \n", | |
1506 | + "1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n", | |
1507 | + "2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n", | |
1508 | + "3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n", | |
1509 | + "4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n", | |
1510 | + "\n", | |
1511 | + " 2019년 2020년 2021년 최근증가율 \n", | |
1512 | + "0 9 200 0 47.844828 \n", | |
1513 | + "1 155 361 403 217.792208 \n", | |
1514 | + "2 307 617 228 165.615463 \n", | |
1515 | + "3 490 472 283 218.552413 \n", | |
1516 | + "4 712 175 655 506.994329 " | |
1517 | + ] | |
1518 | + }, | |
1519 | + "execution_count": 50, | |
1520 | + "metadata": {}, | |
1521 | + "output_type": "execute_result" | |
1522 | + } | |
1523 | + ], | |
1524 | + "source": [ | |
1525 | + "cctvData.head()" | |
1526 | + ] | |
1527 | + }, | |
1528 | + { | |
1529 | + "cell_type": "code", | |
1530 | + "execution_count": 51, | |
1531 | + "id": "989c4761", | |
1532 | + "metadata": {}, | |
1533 | + "outputs": [], | |
1534 | + "source": [ | |
1535 | + "popData.drop(0, inplace=True)" | |
1536 | + ] | |
1537 | + }, | |
1538 | + { | |
1539 | + "cell_type": "code", | |
1540 | + "execution_count": 52, | |
1541 | + "id": "dd336bb1", | |
1542 | + "metadata": {}, | |
1543 | + "outputs": [ | |
1544 | + { | |
1545 | + "data": { | |
1546 | + "text/html": [ | |
1547 | + "<div>\n", | |
1548 | + "<style scoped>\n", | |
1549 | + " .dataframe tbody tr th:only-of-type {\n", | |
1550 | + " vertical-align: middle;\n", | |
1551 | + " }\n", | |
1552 | + "\n", | |
1553 | + " .dataframe tbody tr th {\n", | |
1554 | + " vertical-align: top;\n", | |
1555 | + " }\n", | |
1556 | + "\n", | |
1557 | + " .dataframe thead th {\n", | |
1558 | + " text-align: right;\n", | |
1559 | + " }\n", | |
1560 | + "</style>\n", | |
1561 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1562 | + " <thead>\n", | |
1563 | + " <tr style=\"text-align: right;\">\n", | |
1564 | + " <th></th>\n", | |
1565 | + " <th>구별</th>\n", | |
1566 | + " <th>인구수</th>\n", | |
1567 | + " <th>한국인</th>\n", | |
1568 | + " <th>외국인</th>\n", | |
1569 | + " <th>고령자</th>\n", | |
1570 | + " </tr>\n", | |
1571 | + " </thead>\n", | |
1572 | + " <tbody>\n", | |
1573 | + " <tr>\n", | |
1574 | + " <th>1</th>\n", | |
1575 | + " <td>종로구</td>\n", | |
1576 | + " <td>153789</td>\n", | |
1577 | + " <td>144683</td>\n", | |
1578 | + " <td>9106</td>\n", | |
1579 | + " <td>27818</td>\n", | |
1580 | + " </tr>\n", | |
1581 | + " <tr>\n", | |
1582 | + " <th>2</th>\n", | |
1583 | + " <td>중구</td>\n", | |
1584 | + " <td>131787</td>\n", | |
1585 | + " <td>122499</td>\n", | |
1586 | + " <td>9288</td>\n", | |
1587 | + " <td>24392</td>\n", | |
1588 | + " </tr>\n", | |
1589 | + " <tr>\n", | |
1590 | + " <th>3</th>\n", | |
1591 | + " <td>용산구</td>\n", | |
1592 | + " <td>237285</td>\n", | |
1593 | + " <td>222953</td>\n", | |
1594 | + " <td>14332</td>\n", | |
1595 | + " <td>39070</td>\n", | |
1596 | + " </tr>\n", | |
1597 | + " <tr>\n", | |
1598 | + " <th>4</th>\n", | |
1599 | + " <td>성동구</td>\n", | |
1600 | + " <td>292672</td>\n", | |
1601 | + " <td>285990</td>\n", | |
1602 | + " <td>6682</td>\n", | |
1603 | + " <td>46380</td>\n", | |
1604 | + " </tr>\n", | |
1605 | + " <tr>\n", | |
1606 | + " <th>5</th>\n", | |
1607 | + " <td>광진구</td>\n", | |
1608 | + " <td>352627</td>\n", | |
1609 | + " <td>339996</td>\n", | |
1610 | + " <td>12631</td>\n", | |
1611 | + " <td>51723</td>\n", | |
1612 | + " </tr>\n", | |
1613 | + " </tbody>\n", | |
1614 | + "</table>\n", | |
1615 | + "</div>" | |
1616 | + ], | |
1617 | + "text/plain": [ | |
1618 | + " 구별 인구수 한국인 외국인 고령자\n", | |
1619 | + "1 종로구 153789 144683 9106 27818\n", | |
1620 | + "2 중구 131787 122499 9288 24392\n", | |
1621 | + "3 용산구 237285 222953 14332 39070\n", | |
1622 | + "4 성동구 292672 285990 6682 46380\n", | |
1623 | + "5 광진구 352627 339996 12631 51723" | |
1624 | + ] | |
1625 | + }, | |
1626 | + "execution_count": 52, | |
1627 | + "metadata": {}, | |
1628 | + "output_type": "execute_result" | |
1629 | + } | |
1630 | + ], | |
1631 | + "source": [ | |
1632 | + "popData.head()" | |
1633 | + ] | |
1634 | + }, | |
1635 | + { | |
1636 | + "cell_type": "code", | |
1637 | + "execution_count": 53, | |
1638 | + "id": "90558ebd", | |
1639 | + "metadata": {}, | |
1640 | + "outputs": [], | |
1641 | + "source": [ | |
1642 | + "popData.reset_index(inplace=True)" | |
1643 | + ] | |
1644 | + }, | |
1645 | + { | |
1646 | + "cell_type": "code", | |
1647 | + "execution_count": 54, | |
1648 | + "id": "d6567617", | |
1649 | + "metadata": {}, | |
1650 | + "outputs": [ | |
1651 | + { | |
1652 | + "data": { | |
1653 | + "text/html": [ | |
1654 | + "<div>\n", | |
1655 | + "<style scoped>\n", | |
1656 | + " .dataframe tbody tr th:only-of-type {\n", | |
1657 | + " vertical-align: middle;\n", | |
1658 | + " }\n", | |
1659 | + "\n", | |
1660 | + " .dataframe tbody tr th {\n", | |
1661 | + " vertical-align: top;\n", | |
1662 | + " }\n", | |
1663 | + "\n", | |
1664 | + " .dataframe thead th {\n", | |
1665 | + " text-align: right;\n", | |
1666 | + " }\n", | |
1667 | + "</style>\n", | |
1668 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1669 | + " <thead>\n", | |
1670 | + " <tr style=\"text-align: right;\">\n", | |
1671 | + " <th></th>\n", | |
1672 | + " <th>index</th>\n", | |
1673 | + " <th>구별</th>\n", | |
1674 | + " <th>인구수</th>\n", | |
1675 | + " <th>한국인</th>\n", | |
1676 | + " <th>외국인</th>\n", | |
1677 | + " <th>고령자</th>\n", | |
1678 | + " </tr>\n", | |
1679 | + " </thead>\n", | |
1680 | + " <tbody>\n", | |
1681 | + " <tr>\n", | |
1682 | + " <th>0</th>\n", | |
1683 | + " <td>1</td>\n", | |
1684 | + " <td>종로구</td>\n", | |
1685 | + " <td>153789</td>\n", | |
1686 | + " <td>144683</td>\n", | |
1687 | + " <td>9106</td>\n", | |
1688 | + " <td>27818</td>\n", | |
1689 | + " </tr>\n", | |
1690 | + " <tr>\n", | |
1691 | + " <th>1</th>\n", | |
1692 | + " <td>2</td>\n", | |
1693 | + " <td>중구</td>\n", | |
1694 | + " <td>131787</td>\n", | |
1695 | + " <td>122499</td>\n", | |
1696 | + " <td>9288</td>\n", | |
1697 | + " <td>24392</td>\n", | |
1698 | + " </tr>\n", | |
1699 | + " <tr>\n", | |
1700 | + " <th>2</th>\n", | |
1701 | + " <td>3</td>\n", | |
1702 | + " <td>용산구</td>\n", | |
1703 | + " <td>237285</td>\n", | |
1704 | + " <td>222953</td>\n", | |
1705 | + " <td>14332</td>\n", | |
1706 | + " <td>39070</td>\n", | |
1707 | + " </tr>\n", | |
1708 | + " <tr>\n", | |
1709 | + " <th>3</th>\n", | |
1710 | + " <td>4</td>\n", | |
1711 | + " <td>성동구</td>\n", | |
1712 | + " <td>292672</td>\n", | |
1713 | + " <td>285990</td>\n", | |
1714 | + " <td>6682</td>\n", | |
1715 | + " <td>46380</td>\n", | |
1716 | + " </tr>\n", | |
1717 | + " <tr>\n", | |
1718 | + " <th>4</th>\n", | |
1719 | + " <td>5</td>\n", | |
1720 | + " <td>광진구</td>\n", | |
1721 | + " <td>352627</td>\n", | |
1722 | + " <td>339996</td>\n", | |
1723 | + " <td>12631</td>\n", | |
1724 | + " <td>51723</td>\n", | |
1725 | + " </tr>\n", | |
1726 | + " </tbody>\n", | |
1727 | + "</table>\n", | |
1728 | + "</div>" | |
1729 | + ], | |
1730 | + "text/plain": [ | |
1731 | + " index 구별 인구수 한국인 외국인 고령자\n", | |
1732 | + "0 1 종로구 153789 144683 9106 27818\n", | |
1733 | + "1 2 중구 131787 122499 9288 24392\n", | |
1734 | + "2 3 용산구 237285 222953 14332 39070\n", | |
1735 | + "3 4 성동구 292672 285990 6682 46380\n", | |
1736 | + "4 5 광진구 352627 339996 12631 51723" | |
1737 | + ] | |
1738 | + }, | |
1739 | + "execution_count": 54, | |
1740 | + "metadata": {}, | |
1741 | + "output_type": "execute_result" | |
1742 | + } | |
1743 | + ], | |
1744 | + "source": [ | |
1745 | + "popData.head()" | |
1746 | + ] | |
1747 | + }, | |
1748 | + { | |
1749 | + "cell_type": "code", | |
1750 | + "execution_count": 55, | |
1751 | + "id": "3b2078b6", | |
1752 | + "metadata": {}, | |
1753 | + "outputs": [], | |
1754 | + "source": [ | |
1755 | + "popData.drop(columns='index', inplace=True)" | |
1756 | + ] | |
1757 | + }, | |
1758 | + { | |
1759 | + "cell_type": "code", | |
1760 | + "execution_count": 56, | |
1761 | + "id": "5df44162", | |
1762 | + "metadata": {}, | |
1763 | + "outputs": [ | |
1764 | + { | |
1765 | + "data": { | |
1766 | + "text/html": [ | |
1767 | + "<div>\n", | |
1768 | + "<style scoped>\n", | |
1769 | + " .dataframe tbody tr th:only-of-type {\n", | |
1770 | + " vertical-align: middle;\n", | |
1771 | + " }\n", | |
1772 | + "\n", | |
1773 | + " .dataframe tbody tr th {\n", | |
1774 | + " vertical-align: top;\n", | |
1775 | + " }\n", | |
1776 | + "\n", | |
1777 | + " .dataframe thead th {\n", | |
1778 | + " text-align: right;\n", | |
1779 | + " }\n", | |
1780 | + "</style>\n", | |
1781 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1782 | + " <thead>\n", | |
1783 | + " <tr style=\"text-align: right;\">\n", | |
1784 | + " <th></th>\n", | |
1785 | + " <th>구별</th>\n", | |
1786 | + " <th>인구수</th>\n", | |
1787 | + " <th>한국인</th>\n", | |
1788 | + " <th>외국인</th>\n", | |
1789 | + " <th>고령자</th>\n", | |
1790 | + " </tr>\n", | |
1791 | + " </thead>\n", | |
1792 | + " <tbody>\n", | |
1793 | + " <tr>\n", | |
1794 | + " <th>0</th>\n", | |
1795 | + " <td>종로구</td>\n", | |
1796 | + " <td>153789</td>\n", | |
1797 | + " <td>144683</td>\n", | |
1798 | + " <td>9106</td>\n", | |
1799 | + " <td>27818</td>\n", | |
1800 | + " </tr>\n", | |
1801 | + " <tr>\n", | |
1802 | + " <th>1</th>\n", | |
1803 | + " <td>중구</td>\n", | |
1804 | + " <td>131787</td>\n", | |
1805 | + " <td>122499</td>\n", | |
1806 | + " <td>9288</td>\n", | |
1807 | + " <td>24392</td>\n", | |
1808 | + " </tr>\n", | |
1809 | + " <tr>\n", | |
1810 | + " <th>2</th>\n", | |
1811 | + " <td>용산구</td>\n", | |
1812 | + " <td>237285</td>\n", | |
1813 | + " <td>222953</td>\n", | |
1814 | + " <td>14332</td>\n", | |
1815 | + " <td>39070</td>\n", | |
1816 | + " </tr>\n", | |
1817 | + " <tr>\n", | |
1818 | + " <th>3</th>\n", | |
1819 | + " <td>성동구</td>\n", | |
1820 | + " <td>292672</td>\n", | |
1821 | + " <td>285990</td>\n", | |
1822 | + " <td>6682</td>\n", | |
1823 | + " <td>46380</td>\n", | |
1824 | + " </tr>\n", | |
1825 | + " <tr>\n", | |
1826 | + " <th>4</th>\n", | |
1827 | + " <td>광진구</td>\n", | |
1828 | + " <td>352627</td>\n", | |
1829 | + " <td>339996</td>\n", | |
1830 | + " <td>12631</td>\n", | |
1831 | + " <td>51723</td>\n", | |
1832 | + " </tr>\n", | |
1833 | + " </tbody>\n", | |
1834 | + "</table>\n", | |
1835 | + "</div>" | |
1836 | + ], | |
1837 | + "text/plain": [ | |
1838 | + " 구별 인구수 한국인 외국인 고령자\n", | |
1839 | + "0 종로구 153789 144683 9106 27818\n", | |
1840 | + "1 중구 131787 122499 9288 24392\n", | |
1841 | + "2 용산구 237285 222953 14332 39070\n", | |
1842 | + "3 성동구 292672 285990 6682 46380\n", | |
1843 | + "4 광진구 352627 339996 12631 51723" | |
1844 | + ] | |
1845 | + }, | |
1846 | + "execution_count": 56, | |
1847 | + "metadata": {}, | |
1848 | + "output_type": "execute_result" | |
1849 | + } | |
1850 | + ], | |
1851 | + "source": [ | |
1852 | + "popData.head()" | |
1853 | + ] | |
1854 | + }, | |
1855 | + { | |
1856 | + "cell_type": "code", | |
1857 | + "execution_count": 61, | |
1858 | + "id": "5eeb7eef", | |
1859 | + "metadata": {}, | |
1860 | + "outputs": [], | |
1861 | + "source": [ | |
1862 | + "popData['외국인비율'] = ((popData['외국인'] / popData['인구수'])) *100\n", | |
1863 | + "popData['고령자비율'] = ((popData['고령자'] / popData['인구수'])) * 100" | |
1864 | + ] | |
1865 | + }, | |
1866 | + { | |
1867 | + "cell_type": "code", | |
1868 | + "execution_count": 62, | |
1869 | + "id": "68762fc0", | |
1870 | + "metadata": {}, | |
1871 | + "outputs": [ | |
1872 | + { | |
1873 | + "data": { | |
1874 | + "text/html": [ | |
1875 | + "<div>\n", | |
1876 | + "<style scoped>\n", | |
1877 | + " .dataframe tbody tr th:only-of-type {\n", | |
1878 | + " vertical-align: middle;\n", | |
1879 | + " }\n", | |
1880 | + "\n", | |
1881 | + " .dataframe tbody tr th {\n", | |
1882 | + " vertical-align: top;\n", | |
1883 | + " }\n", | |
1884 | + "\n", | |
1885 | + " .dataframe thead th {\n", | |
1886 | + " text-align: right;\n", | |
1887 | + " }\n", | |
1888 | + "</style>\n", | |
1889 | + "<table border=\"1\" class=\"dataframe\">\n", | |
1890 | + " <thead>\n", | |
1891 | + " <tr style=\"text-align: right;\">\n", | |
1892 | + " <th></th>\n", | |
1893 | + " <th>구별</th>\n", | |
1894 | + " <th>인구수</th>\n", | |
1895 | + " <th>한국인</th>\n", | |
1896 | + " <th>외국인</th>\n", | |
1897 | + " <th>고령자</th>\n", | |
1898 | + " <th>외국인비율</th>\n", | |
1899 | + " <th>고령자비율</th>\n", | |
1900 | + " </tr>\n", | |
1901 | + " </thead>\n", | |
1902 | + " <tbody>\n", | |
1903 | + " <tr>\n", | |
1904 | + " <th>0</th>\n", | |
1905 | + " <td>종로구</td>\n", | |
1906 | + " <td>153789</td>\n", | |
1907 | + " <td>144683</td>\n", | |
1908 | + " <td>9106</td>\n", | |
1909 | + " <td>27818</td>\n", | |
1910 | + " <td>5.921100</td>\n", | |
1911 | + " <td>18.088420</td>\n", | |
1912 | + " </tr>\n", | |
1913 | + " <tr>\n", | |
1914 | + " <th>1</th>\n", | |
1915 | + " <td>중구</td>\n", | |
1916 | + " <td>131787</td>\n", | |
1917 | + " <td>122499</td>\n", | |
1918 | + " <td>9288</td>\n", | |
1919 | + " <td>24392</td>\n", | |
1920 | + " <td>7.047736</td>\n", | |
1921 | + " <td>18.508654</td>\n", | |
1922 | + " </tr>\n", | |
1923 | + " <tr>\n", | |
1924 | + " <th>2</th>\n", | |
1925 | + " <td>용산구</td>\n", | |
1926 | + " <td>237285</td>\n", | |
1927 | + " <td>222953</td>\n", | |
1928 | + " <td>14332</td>\n", | |
1929 | + " <td>39070</td>\n", | |
1930 | + " <td>6.039994</td>\n", | |
1931 | + " <td>16.465432</td>\n", | |
1932 | + " </tr>\n", | |
1933 | + " <tr>\n", | |
1934 | + " <th>3</th>\n", | |
1935 | + " <td>성동구</td>\n", | |
1936 | + " <td>292672</td>\n", | |
1937 | + " <td>285990</td>\n", | |
1938 | + " <td>6682</td>\n", | |
1939 | + " <td>46380</td>\n", | |
1940 | + " <td>2.283102</td>\n", | |
1941 | + " <td>15.847092</td>\n", | |
1942 | + " </tr>\n", | |
1943 | + " <tr>\n", | |
1944 | + " <th>4</th>\n", | |
1945 | + " <td>광진구</td>\n", | |
1946 | + " <td>352627</td>\n", | |
1947 | + " <td>339996</td>\n", | |
1948 | + " <td>12631</td>\n", | |
1949 | + " <td>51723</td>\n", | |
1950 | + " <td>3.581972</td>\n", | |
1951 | + " <td>14.667907</td>\n", | |
1952 | + " </tr>\n", | |
1953 | + " </tbody>\n", | |
1954 | + "</table>\n", | |
1955 | + "</div>" | |
1956 | + ], | |
1957 | + "text/plain": [ | |
1958 | + " 구별 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n", | |
1959 | + "0 종로구 153789 144683 9106 27818 5.921100 18.088420\n", | |
1960 | + "1 중구 131787 122499 9288 24392 7.047736 18.508654\n", | |
1961 | + "2 용산구 237285 222953 14332 39070 6.039994 16.465432\n", | |
1962 | + "3 성동구 292672 285990 6682 46380 2.283102 15.847092\n", | |
1963 | + "4 광진구 352627 339996 12631 51723 3.581972 14.667907" | |
1964 | + ] | |
1965 | + }, | |
1966 | + "execution_count": 62, | |
1967 | + "metadata": {}, | |
1968 | + "output_type": "execute_result" | |
1969 | + } | |
1970 | + ], | |
1971 | + "source": [ | |
1972 | + "popData.head()" | |
1973 | + ] | |
1974 | + }, | |
1975 | + { | |
1976 | + "cell_type": "code", | |
1977 | + "execution_count": 64, | |
1978 | + "id": "e185b622", | |
1979 | + "metadata": { | |
1980 | + "scrolled": true | |
1981 | + }, | |
1982 | + "outputs": [ | |
1983 | + { | |
1984 | + "data": { | |
1985 | + "text/html": [ | |
1986 | + "<div>\n", | |
1987 | + "<style scoped>\n", | |
1988 | + " .dataframe tbody tr th:only-of-type {\n", | |
1989 | + " vertical-align: middle;\n", | |
1990 | + " }\n", | |
1991 | + "\n", | |
1992 | + " .dataframe tbody tr th {\n", | |
1993 | + " vertical-align: top;\n", | |
1994 | + " }\n", | |
1995 | + "\n", | |
1996 | + " .dataframe thead th {\n", | |
1997 | + " text-align: right;\n", | |
1998 | + " }\n", | |
1999 | + "</style>\n", | |
2000 | + "<table border=\"1\" class=\"dataframe\">\n", | |
2001 | + " <thead>\n", | |
2002 | + " <tr style=\"text-align: right;\">\n", | |
2003 | + " <th></th>\n", | |
2004 | + " <th>구별</th>\n", | |
2005 | + " <th>인구수</th>\n", | |
2006 | + " <th>한국인</th>\n", | |
2007 | + " <th>외국인</th>\n", | |
2008 | + " <th>고령자</th>\n", | |
2009 | + " <th>외국인비율</th>\n", | |
2010 | + " <th>고령자비율</th>\n", | |
2011 | + " </tr>\n", | |
2012 | + " </thead>\n", | |
2013 | + " <tbody>\n", | |
2014 | + " <tr>\n", | |
2015 | + " <th>23</th>\n", | |
2016 | + " <td>송파구</td>\n", | |
2017 | + " <td>663965</td>\n", | |
2018 | + " <td>658338</td>\n", | |
2019 | + " <td>5627</td>\n", | |
2020 | + " <td>97691</td>\n", | |
2021 | + " <td>0.847484</td>\n", | |
2022 | + " <td>14.713276</td>\n", | |
2023 | + " </tr>\n", | |
2024 | + " <tr>\n", | |
2025 | + " <th>15</th>\n", | |
2026 | + " <td>강서구</td>\n", | |
2027 | + " <td>579768</td>\n", | |
2028 | + " <td>574315</td>\n", | |
2029 | + " <td>5453</td>\n", | |
2030 | + " <td>92558</td>\n", | |
2031 | + " <td>0.940549</td>\n", | |
2032 | + " <td>15.964662</td>\n", | |
2033 | + " </tr>\n", | |
2034 | + " <tr>\n", | |
2035 | + " <th>22</th>\n", | |
2036 | + " <td>강남구</td>\n", | |
2037 | + " <td>537800</td>\n", | |
2038 | + " <td>533042</td>\n", | |
2039 | + " <td>4758</td>\n", | |
2040 | + " <td>78226</td>\n", | |
2041 | + " <td>0.884716</td>\n", | |
2042 | + " <td>14.545556</td>\n", | |
2043 | + " </tr>\n", | |
2044 | + " <tr>\n", | |
2045 | + " <th>10</th>\n", | |
2046 | + " <td>노원구</td>\n", | |
2047 | + " <td>514946</td>\n", | |
2048 | + " <td>510956</td>\n", | |
2049 | + " <td>3990</td>\n", | |
2050 | + " <td>88345</td>\n", | |
2051 | + " <td>0.774839</td>\n", | |
2052 | + " <td>17.156168</td>\n", | |
2053 | + " </tr>\n", | |
2054 | + " <tr>\n", | |
2055 | + " <th>20</th>\n", | |
2056 | + " <td>관악구</td>\n", | |
2057 | + " <td>499449</td>\n", | |
2058 | + " <td>485699</td>\n", | |
2059 | + " <td>13750</td>\n", | |
2060 | + " <td>79871</td>\n", | |
2061 | + " <td>2.753034</td>\n", | |
2062 | + " <td>15.991823</td>\n", | |
2063 | + " </tr>\n", | |
2064 | + " </tbody>\n", | |
2065 | + "</table>\n", | |
2066 | + "</div>" | |
2067 | + ], | |
2068 | + "text/plain": [ | |
2069 | + " 구별 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n", | |
2070 | + "23 송파구 663965 658338 5627 97691 0.847484 14.713276\n", | |
2071 | + "15 강서구 579768 574315 5453 92558 0.940549 15.964662\n", | |
2072 | + "22 강남구 537800 533042 4758 78226 0.884716 14.545556\n", | |
2073 | + "10 노원구 514946 510956 3990 88345 0.774839 17.156168\n", | |
2074 | + "20 관악구 499449 485699 13750 79871 2.753034 15.991823" | |
2075 | + ] | |
2076 | + }, | |
2077 | + "execution_count": 64, | |
2078 | + "metadata": {}, | |
2079 | + "output_type": "execute_result" | |
2080 | + } | |
2081 | + ], | |
2082 | + "source": [ | |
2083 | + "popData.sort_values(by = '인구수', ascending=False).head()" | |
2084 | + ] | |
2085 | + }, | |
2086 | + { | |
2087 | + "cell_type": "code", | |
2088 | + "execution_count": 68, | |
2089 | + "id": "42fe3110", | |
2090 | + "metadata": {}, | |
2091 | + "outputs": [ | |
2092 | + { | |
2093 | + "data": { | |
2094 | + "text/html": [ | |
2095 | + "<div>\n", | |
2096 | + "<style scoped>\n", | |
2097 | + " .dataframe tbody tr th:only-of-type {\n", | |
2098 | + " vertical-align: middle;\n", | |
2099 | + " }\n", | |
2100 | + "\n", | |
2101 | + " .dataframe tbody tr th {\n", | |
2102 | + " vertical-align: top;\n", | |
2103 | + " }\n", | |
2104 | + "\n", | |
2105 | + " .dataframe thead th {\n", | |
2106 | + " text-align: right;\n", | |
2107 | + " }\n", | |
2108 | + "</style>\n", | |
2109 | + "<table border=\"1\" class=\"dataframe\">\n", | |
2110 | + " <thead>\n", | |
2111 | + " <tr style=\"text-align: right;\">\n", | |
2112 | + " <th></th>\n", | |
2113 | + " <th>구별</th>\n", | |
2114 | + " <th>인구수</th>\n", | |
2115 | + " <th>한국인</th>\n", | |
2116 | + " <th>외국인</th>\n", | |
2117 | + " <th>고령자</th>\n", | |
2118 | + " <th>외국인비율</th>\n", | |
2119 | + " <th>고령자비율</th>\n", | |
2120 | + " </tr>\n", | |
2121 | + " </thead>\n", | |
2122 | + " <tbody>\n", | |
2123 | + " <tr>\n", | |
2124 | + " <th>23</th>\n", | |
2125 | + " <td>송파구</td>\n", | |
2126 | + " <td>663965</td>\n", | |
2127 | + " <td>658338</td>\n", | |
2128 | + " <td>5627</td>\n", | |
2129 | + " <td>97691</td>\n", | |
2130 | + " <td>0.847484</td>\n", | |
2131 | + " <td>14.713276</td>\n", | |
2132 | + " </tr>\n", | |
2133 | + " <tr>\n", | |
2134 | + " <th>15</th>\n", | |
2135 | + " <td>강서구</td>\n", | |
2136 | + " <td>579768</td>\n", | |
2137 | + " <td>574315</td>\n", | |
2138 | + " <td>5453</td>\n", | |
2139 | + " <td>92558</td>\n", | |
2140 | + " <td>0.940549</td>\n", | |
2141 | + " <td>15.964662</td>\n", | |
2142 | + " </tr>\n", | |
2143 | + " <tr>\n", | |
2144 | + " <th>10</th>\n", | |
2145 | + " <td>노원구</td>\n", | |
2146 | + " <td>514946</td>\n", | |
2147 | + " <td>510956</td>\n", | |
2148 | + " <td>3990</td>\n", | |
2149 | + " <td>88345</td>\n", | |
2150 | + " <td>0.774839</td>\n", | |
2151 | + " <td>17.156168</td>\n", | |
2152 | + " </tr>\n", | |
2153 | + " <tr>\n", | |
2154 | + " <th>11</th>\n", | |
2155 | + " <td>은평구</td>\n", | |
2156 | + " <td>477173</td>\n", | |
2157 | + " <td>473307</td>\n", | |
2158 | + " <td>3866</td>\n", | |
2159 | + " <td>87241</td>\n", | |
2160 | + " <td>0.810188</td>\n", | |
2161 | + " <td>18.282887</td>\n", | |
2162 | + " </tr>\n", | |
2163 | + " <tr>\n", | |
2164 | + " <th>20</th>\n", | |
2165 | + " <td>관악구</td>\n", | |
2166 | + " <td>499449</td>\n", | |
2167 | + " <td>485699</td>\n", | |
2168 | + " <td>13750</td>\n", | |
2169 | + " <td>79871</td>\n", | |
2170 | + " <td>2.753034</td>\n", | |
2171 | + " <td>15.991823</td>\n", | |
2172 | + " </tr>\n", | |
2173 | + " </tbody>\n", | |
2174 | + "</table>\n", | |
2175 | + "</div>" | |
2176 | + ], | |
2177 | + "text/plain": [ | |
2178 | + " 구별 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n", | |
2179 | + "23 송파구 663965 658338 5627 97691 0.847484 14.713276\n", | |
2180 | + "15 강서구 579768 574315 5453 92558 0.940549 15.964662\n", | |
2181 | + "10 노원구 514946 510956 3990 88345 0.774839 17.156168\n", | |
2182 | + "11 은평구 477173 473307 3866 87241 0.810188 18.282887\n", | |
2183 | + "20 관악구 499449 485699 13750 79871 2.753034 15.991823" | |
2184 | + ] | |
2185 | + }, | |
2186 | + "execution_count": 68, | |
2187 | + "metadata": {}, | |
2188 | + "output_type": "execute_result" | |
2189 | + } | |
2190 | + ], | |
2191 | + "source": [ | |
2192 | + "popData.sort_values(by = '고령자', ascending=False).head()" | |
2193 | + ] | |
2194 | + }, | |
2195 | + { | |
2196 | + "cell_type": "code", | |
2197 | + "execution_count": 83, | |
2198 | + "id": "0c7a1da6", | |
2199 | + "metadata": { | |
2200 | + "scrolled": true | |
2201 | + }, | |
2202 | + "outputs": [ | |
2203 | + { | |
2204 | + "data": { | |
2205 | + "text/html": [ | |
2206 | + "<div>\n", | |
2207 | + "<style scoped>\n", | |
2208 | + " .dataframe tbody tr th:only-of-type {\n", | |
2209 | + " vertical-align: middle;\n", | |
2210 | + " }\n", | |
2211 | + "\n", | |
2212 | + " .dataframe tbody tr th {\n", | |
2213 | + " vertical-align: top;\n", | |
2214 | + " }\n", | |
2215 | + "\n", | |
2216 | + " .dataframe thead th {\n", | |
2217 | + " text-align: right;\n", | |
2218 | + " }\n", | |
2219 | + "</style>\n", | |
2220 | + "<table border=\"1\" class=\"dataframe\">\n", | |
2221 | + " <thead>\n", | |
2222 | + " <tr style=\"text-align: right;\">\n", | |
2223 | + " <th></th>\n", | |
2224 | + " <th>구별</th>\n", | |
2225 | + " <th>총계</th>\n", | |
2226 | + " <th>2012년 이전</th>\n", | |
2227 | + " <th>2012년</th>\n", | |
2228 | + " <th>2013년</th>\n", | |
2229 | + " <th>2014년</th>\n", | |
2230 | + " <th>2015년</th>\n", | |
2231 | + " <th>2016년</th>\n", | |
2232 | + " <th>2017년</th>\n", | |
2233 | + " <th>2018년</th>\n", | |
2234 | + " <th>2019년</th>\n", | |
2235 | + " <th>2020년</th>\n", | |
2236 | + " <th>2021년</th>\n", | |
2237 | + " <th>최근증가율</th>\n", | |
2238 | + " <th>인구수</th>\n", | |
2239 | + " <th>한국인</th>\n", | |
2240 | + " <th>외국인</th>\n", | |
2241 | + " <th>고령자</th>\n", | |
2242 | + " <th>외국인비율</th>\n", | |
2243 | + " <th>고령자비율</th>\n", | |
2244 | + " </tr>\n", | |
2245 | + " </thead>\n", | |
2246 | + " <tbody>\n", | |
2247 | + " <tr>\n", | |
2248 | + " <th>0</th>\n", | |
2249 | + " <td>종로구</td>\n", | |
2250 | + " <td>1715</td>\n", | |
2251 | + " <td>815</td>\n", | |
2252 | + " <td>0.0</td>\n", | |
2253 | + " <td>0.0</td>\n", | |
2254 | + " <td>195</td>\n", | |
2255 | + " <td>150</td>\n", | |
2256 | + " <td>0</td>\n", | |
2257 | + " <td>261</td>\n", | |
2258 | + " <td>85</td>\n", | |
2259 | + " <td>9</td>\n", | |
2260 | + " <td>200</td>\n", | |
2261 | + " <td>0</td>\n", | |
2262 | + " <td>47.844828</td>\n", | |
2263 | + " <td>153789</td>\n", | |
2264 | + " <td>144683</td>\n", | |
2265 | + " <td>9106</td>\n", | |
2266 | + " <td>27818</td>\n", | |
2267 | + " <td>5.921100</td>\n", | |
2268 | + " <td>18.088420</td>\n", | |
2269 | + " </tr>\n", | |
2270 | + " <tr>\n", | |
2271 | + " <th>1</th>\n", | |
2272 | + " <td>중구</td>\n", | |
2273 | + " <td>2447</td>\n", | |
2274 | + " <td>16</td>\n", | |
2275 | + " <td>114.0</td>\n", | |
2276 | + " <td>87.0</td>\n", | |
2277 | + " <td>77</td>\n", | |
2278 | + " <td>236</td>\n", | |
2279 | + " <td>240</td>\n", | |
2280 | + " <td>372</td>\n", | |
2281 | + " <td>386</td>\n", | |
2282 | + " <td>155</td>\n", | |
2283 | + " <td>361</td>\n", | |
2284 | + " <td>403</td>\n", | |
2285 | + " <td>217.792208</td>\n", | |
2286 | + " <td>131787</td>\n", | |
2287 | + " <td>122499</td>\n", | |
2288 | + " <td>9288</td>\n", | |
2289 | + " <td>24392</td>\n", | |
2290 | + " <td>7.047736</td>\n", | |
2291 | + " <td>18.508654</td>\n", | |
2292 | + " </tr>\n", | |
2293 | + " <tr>\n", | |
2294 | + " <th>2</th>\n", | |
2295 | + " <td>용산구</td>\n", | |
2296 | + " <td>2611</td>\n", | |
2297 | + " <td>34</td>\n", | |
2298 | + " <td>71.0</td>\n", | |
2299 | + " <td>234.0</td>\n", | |
2300 | + " <td>125</td>\n", | |
2301 | + " <td>221</td>\n", | |
2302 | + " <td>298</td>\n", | |
2303 | + " <td>351</td>\n", | |
2304 | + " <td>125</td>\n", | |
2305 | + " <td>307</td>\n", | |
2306 | + " <td>617</td>\n", | |
2307 | + " <td>228</td>\n", | |
2308 | + " <td>165.615463</td>\n", | |
2309 | + " <td>237285</td>\n", | |
2310 | + " <td>222953</td>\n", | |
2311 | + " <td>14332</td>\n", | |
2312 | + " <td>39070</td>\n", | |
2313 | + " <td>6.039994</td>\n", | |
2314 | + " <td>16.465432</td>\n", | |
2315 | + " </tr>\n", | |
2316 | + " <tr>\n", | |
2317 | + " <th>3</th>\n", | |
2318 | + " <td>성동구</td>\n", | |
2319 | + " <td>3829</td>\n", | |
2320 | + " <td>163</td>\n", | |
2321 | + " <td>144.0</td>\n", | |
2322 | + " <td>208.0</td>\n", | |
2323 | + " <td>107</td>\n", | |
2324 | + " <td>325</td>\n", | |
2325 | + " <td>255</td>\n", | |
2326 | + " <td>967</td>\n", | |
2327 | + " <td>415</td>\n", | |
2328 | + " <td>490</td>\n", | |
2329 | + " <td>472</td>\n", | |
2330 | + " <td>283</td>\n", | |
2331 | + " <td>218.552413</td>\n", | |
2332 | + " <td>292672</td>\n", | |
2333 | + " <td>285990</td>\n", | |
2334 | + " <td>6682</td>\n", | |
2335 | + " <td>46380</td>\n", | |
2336 | + " <td>2.283102</td>\n", | |
2337 | + " <td>15.847092</td>\n", | |
2338 | + " </tr>\n", | |
2339 | + " <tr>\n", | |
2340 | + " <th>4</th>\n", | |
2341 | + " <td>광진구</td>\n", | |
2342 | + " <td>3211</td>\n", | |
2343 | + " <td>35</td>\n", | |
2344 | + " <td>57.0</td>\n", | |
2345 | + " <td>100.0</td>\n", | |
2346 | + " <td>187</td>\n", | |
2347 | + " <td>98</td>\n", | |
2348 | + " <td>52</td>\n", | |
2349 | + " <td>675</td>\n", | |
2350 | + " <td>465</td>\n", | |
2351 | + " <td>712</td>\n", | |
2352 | + " <td>175</td>\n", | |
2353 | + " <td>655</td>\n", | |
2354 | + " <td>506.994329</td>\n", | |
2355 | + " <td>352627</td>\n", | |
2356 | + " <td>339996</td>\n", | |
2357 | + " <td>12631</td>\n", | |
2358 | + " <td>51723</td>\n", | |
2359 | + " <td>3.581972</td>\n", | |
2360 | + " <td>14.667907</td>\n", | |
2361 | + " </tr>\n", | |
2362 | + " </tbody>\n", | |
2363 | + "</table>\n", | |
2364 | + "</div>" | |
2365 | + ], | |
2366 | + "text/plain": [ | |
2367 | + " 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n", | |
2368 | + "0 종로구 1715 815 0.0 0.0 195 150 0 261 85 \n", | |
2369 | + "1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n", | |
2370 | + "2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n", | |
2371 | + "3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n", | |
2372 | + "4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n", | |
2373 | + "\n", | |
2374 | + " 2019년 2020년 2021년 최근증가율 인구수 한국인 외국인 고령자 외국인비율 \\\n", | |
2375 | + "0 9 200 0 47.844828 153789 144683 9106 27818 5.921100 \n", | |
2376 | + "1 155 361 403 217.792208 131787 122499 9288 24392 7.047736 \n", | |
2377 | + "2 307 617 228 165.615463 237285 222953 14332 39070 6.039994 \n", | |
2378 | + "3 490 472 283 218.552413 292672 285990 6682 46380 2.283102 \n", | |
2379 | + "4 712 175 655 506.994329 352627 339996 12631 51723 3.581972 \n", | |
2380 | + "\n", | |
2381 | + " 고령자비율 \n", | |
2382 | + "0 18.088420 \n", | |
2383 | + "1 18.508654 \n", | |
2384 | + "2 16.465432 \n", | |
2385 | + "3 15.847092 \n", | |
2386 | + "4 14.667907 " | |
2387 | + ] | |
2388 | + }, | |
2389 | + "execution_count": 83, | |
2390 | + "metadata": {}, | |
2391 | + "output_type": "execute_result" | |
2392 | + } | |
2393 | + ], | |
2394 | + "source": [ | |
2395 | + "dataset = pd.merge(cctvData, popData, on='구별')\n", | |
2396 | + "dataset.head()" | |
2397 | + ] | |
2398 | + }, | |
2399 | + { | |
2400 | + "cell_type": "code", | |
2401 | + "execution_count": 84, | |
2402 | + "id": "9d8d3ade", | |
2403 | + "metadata": {}, | |
2404 | + "outputs": [], | |
2405 | + "source": [ | |
2406 | + "del dataset['2012년 이전']\n", | |
2407 | + "del dataset['2012년']\n", | |
2408 | + "del dataset['2013년']\n", | |
2409 | + "del dataset['2014년']\n", | |
2410 | + "del dataset['2015년']\n", | |
2411 | + "del dataset['2016년']\n", | |
2412 | + "del dataset['2017년']\n", | |
2413 | + "del dataset['2018년']\n", | |
2414 | + "del dataset['2019년']\n", | |
2415 | + "del dataset['2020년']\n", | |
2416 | + "del dataset['2021년']" | |
2417 | + ] | |
2418 | + }, | |
2419 | + { | |
2420 | + "cell_type": "code", | |
2421 | + "execution_count": 85, | |
2422 | + "id": "08238cb5", | |
2423 | + "metadata": {}, | |
2424 | + "outputs": [ | |
2425 | + { | |
2426 | + "data": { | |
2427 | + "text/html": [ | |
2428 | + "<div>\n", | |
2429 | + "<style scoped>\n", | |
2430 | + " .dataframe tbody tr th:only-of-type {\n", | |
2431 | + " vertical-align: middle;\n", | |
2432 | + " }\n", | |
2433 | + "\n", | |
2434 | + " .dataframe tbody tr th {\n", | |
2435 | + " vertical-align: top;\n", | |
2436 | + " }\n", | |
2437 | + "\n", | |
2438 | + " .dataframe thead th {\n", | |
2439 | + " text-align: right;\n", | |
2440 | + " }\n", | |
2441 | + "</style>\n", | |
2442 | + "<table border=\"1\" class=\"dataframe\">\n", | |
2443 | + " <thead>\n", | |
2444 | + " <tr style=\"text-align: right;\">\n", | |
2445 | + " <th></th>\n", | |
2446 | + " <th>구별</th>\n", | |
2447 | + " <th>총계</th>\n", | |
2448 | + " <th>최근증가율</th>\n", | |
2449 | + " <th>인구수</th>\n", | |
2450 | + " <th>한국인</th>\n", | |
2451 | + " <th>외국인</th>\n", | |
2452 | + " <th>고령자</th>\n", | |
2453 | + " <th>외국인비율</th>\n", | |
2454 | + " <th>고령자비율</th>\n", | |
2455 | + " </tr>\n", | |
2456 | + " </thead>\n", | |
2457 | + " <tbody>\n", | |
2458 | + " <tr>\n", | |
2459 | + " <th>0</th>\n", | |
2460 | + " <td>종로구</td>\n", | |
2461 | + " <td>1715</td>\n", | |
2462 | + " <td>47.844828</td>\n", | |
2463 | + " <td>153789</td>\n", | |
2464 | + " <td>144683</td>\n", | |
2465 | + " <td>9106</td>\n", | |
2466 | + " <td>27818</td>\n", | |
2467 | + " <td>5.921100</td>\n", | |
2468 | + " <td>18.088420</td>\n", | |
2469 | + " </tr>\n", | |
2470 | + " <tr>\n", | |
2471 | + " <th>1</th>\n", | |
2472 | + " <td>중구</td>\n", | |
2473 | + " <td>2447</td>\n", | |
2474 | + " <td>217.792208</td>\n", | |
2475 | + " <td>131787</td>\n", | |
2476 | + " <td>122499</td>\n", | |
2477 | + " <td>9288</td>\n", | |
2478 | + " <td>24392</td>\n", | |
2479 | + " <td>7.047736</td>\n", | |
2480 | + " <td>18.508654</td>\n", | |
2481 | + " </tr>\n", | |
2482 | + " <tr>\n", | |
2483 | + " <th>2</th>\n", | |
2484 | + " <td>용산구</td>\n", | |
2485 | + " <td>2611</td>\n", | |
2486 | + " <td>165.615463</td>\n", | |
2487 | + " <td>237285</td>\n", | |
2488 | + " <td>222953</td>\n", | |
2489 | + " <td>14332</td>\n", | |
2490 | + " <td>39070</td>\n", | |
2491 | + " <td>6.039994</td>\n", | |
2492 | + " <td>16.465432</td>\n", | |
2493 | + " </tr>\n", | |
2494 | + " <tr>\n", | |
2495 | + " <th>3</th>\n", | |
2496 | + " <td>성동구</td>\n", | |
2497 | + " <td>3829</td>\n", | |
2498 | + " <td>218.552413</td>\n", | |
2499 | + " <td>292672</td>\n", | |
2500 | + " <td>285990</td>\n", | |
2501 | + " <td>6682</td>\n", | |
2502 | + " <td>46380</td>\n", | |
2503 | + " <td>2.283102</td>\n", | |
2504 | + " <td>15.847092</td>\n", | |
2505 | + " </tr>\n", | |
2506 | + " <tr>\n", | |
2507 | + " <th>4</th>\n", | |
2508 | + " <td>광진구</td>\n", | |
2509 | + " <td>3211</td>\n", | |
2510 | + " <td>506.994329</td>\n", | |
2511 | + " <td>352627</td>\n", | |
2512 | + " <td>339996</td>\n", | |
2513 | + " <td>12631</td>\n", | |
2514 | + " <td>51723</td>\n", | |
2515 | + " <td>3.581972</td>\n", | |
2516 | + " <td>14.667907</td>\n", | |
2517 | + " </tr>\n", | |
2518 | + " </tbody>\n", | |
2519 | + "</table>\n", | |
2520 | + "</div>" | |
2521 | + ], | |
2522 | + "text/plain": [ | |
2523 | + " 구별 총계 최근증가율 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n", | |
2524 | + "0 종로구 1715 47.844828 153789 144683 9106 27818 5.921100 18.088420\n", | |
2525 | + "1 중구 2447 217.792208 131787 122499 9288 24392 7.047736 18.508654\n", | |
2526 | + "2 용산구 2611 165.615463 237285 222953 14332 39070 6.039994 16.465432\n", | |
2527 | + "3 성동구 3829 218.552413 292672 285990 6682 46380 2.283102 15.847092\n", | |
2528 | + "4 광진구 3211 506.994329 352627 339996 12631 51723 3.581972 14.667907" | |
2529 | + ] | |
2530 | + }, | |
2531 | + "execution_count": 85, | |
2532 | + "metadata": {}, | |
2533 | + "output_type": "execute_result" | |
2534 | + } | |
2535 | + ], | |
2536 | + "source": [ | |
2537 | + "dataset.head()" | |
2538 | + ] | |
2539 | + }, | |
2540 | + { | |
2541 | + "cell_type": "code", | |
2542 | + "execution_count": 86, | |
2543 | + "id": "4f6a862c", | |
2544 | + "metadata": {}, | |
2545 | + "outputs": [], | |
2546 | + "source": [ | |
2547 | + "dataset.set_index('구별', inplace=True)" | |
2548 | + ] | |
2549 | + }, | |
2550 | + { | |
2551 | + "cell_type": "code", | |
2552 | + "execution_count": 87, | |
2553 | + "id": "e010a71c", | |
2554 | + "metadata": {}, | |
2555 | + "outputs": [ | |
2556 | + { | |
2557 | + "data": { | |
2558 | + "text/html": [ | |
2559 | + "<div>\n", | |
2560 | + "<style scoped>\n", | |
2561 | + " .dataframe tbody tr th:only-of-type {\n", | |
2562 | + " vertical-align: middle;\n", | |
2563 | + " }\n", | |
2564 | + "\n", | |
2565 | + " .dataframe tbody tr th {\n", | |
2566 | + " vertical-align: top;\n", | |
2567 | + " }\n", | |
2568 | + "\n", | |
2569 | + " .dataframe thead th {\n", | |
2570 | + " text-align: right;\n", | |
2571 | + " }\n", | |
2572 | + "</style>\n", | |
2573 | + "<table border=\"1\" class=\"dataframe\">\n", | |
2574 | + " <thead>\n", | |
2575 | + " <tr style=\"text-align: right;\">\n", | |
2576 | + " <th></th>\n", | |
2577 | + " <th>총계</th>\n", | |
2578 | + " <th>최근증가율</th>\n", | |
2579 | + " <th>인구수</th>\n", | |
2580 | + " <th>한국인</th>\n", | |
2581 | + " <th>외국인</th>\n", | |
2582 | + " <th>고령자</th>\n", | |
2583 | + " <th>외국인비율</th>\n", | |
2584 | + " <th>고령자비율</th>\n", | |
2585 | + " </tr>\n", | |
2586 | + " <tr>\n", | |
2587 | + " <th>구별</th>\n", | |
2588 | + " <th></th>\n", | |
2589 | + " <th></th>\n", | |
2590 | + " <th></th>\n", | |
2591 | + " <th></th>\n", | |
2592 | + " <th></th>\n", | |
2593 | + " <th></th>\n", | |
2594 | + " <th></th>\n", | |
2595 | + " <th></th>\n", | |
2596 | + " </tr>\n", | |
2597 | + " </thead>\n", | |
2598 | + " <tbody>\n", | |
2599 | + " <tr>\n", | |
2600 | + " <th>종로구</th>\n", | |
2601 | + " <td>1715</td>\n", | |
2602 | + " <td>47.844828</td>\n", | |
2603 | + " <td>153789</td>\n", | |
2604 | + " <td>144683</td>\n", | |
2605 | + " <td>9106</td>\n", | |
2606 | + " <td>27818</td>\n", | |
2607 | + " <td>5.921100</td>\n", | |
2608 | + " <td>18.088420</td>\n", | |
2609 | + " </tr>\n", | |
2610 | + " <tr>\n", | |
2611 | + " <th>중구</th>\n", | |
2612 | + " <td>2447</td>\n", | |
2613 | + " <td>217.792208</td>\n", | |
2614 | + " <td>131787</td>\n", | |
2615 | + " <td>122499</td>\n", | |
2616 | + " <td>9288</td>\n", | |
2617 | + " <td>24392</td>\n", | |
2618 | + " <td>7.047736</td>\n", | |
2619 | + " <td>18.508654</td>\n", | |
2620 | + " </tr>\n", | |
2621 | + " <tr>\n", | |
2622 | + " <th>용산구</th>\n", | |
2623 | + " <td>2611</td>\n", | |
2624 | + " <td>165.615463</td>\n", | |
2625 | + " <td>237285</td>\n", | |
2626 | + " <td>222953</td>\n", | |
2627 | + " <td>14332</td>\n", | |
2628 | + " <td>39070</td>\n", | |
2629 | + " <td>6.039994</td>\n", | |
2630 | + " <td>16.465432</td>\n", | |
2631 | + " </tr>\n", | |
2632 | + " <tr>\n", | |
2633 | + " <th>성동구</th>\n", | |
2634 | + " <td>3829</td>\n", | |
2635 | + " <td>218.552413</td>\n", | |
2636 | + " <td>292672</td>\n", | |
2637 | + " <td>285990</td>\n", | |
2638 | + " <td>6682</td>\n", | |
2639 | + " <td>46380</td>\n", | |
2640 | + " <td>2.283102</td>\n", | |
2641 | + " <td>15.847092</td>\n", | |
2642 | + " </tr>\n", | |
2643 | + " <tr>\n", | |
2644 | + " <th>광진구</th>\n", | |
2645 | + " <td>3211</td>\n", | |
2646 | + " <td>506.994329</td>\n", | |
2647 | + " <td>352627</td>\n", | |
2648 | + " <td>339996</td>\n", | |
2649 | + " <td>12631</td>\n", | |
2650 | + " <td>51723</td>\n", | |
2651 | + " <td>3.581972</td>\n", | |
2652 | + " <td>14.667907</td>\n", | |
2653 | + " </tr>\n", | |
2654 | + " </tbody>\n", | |
2655 | + "</table>\n", | |
2656 | + "</div>" | |
2657 | + ], | |
2658 | + "text/plain": [ | |
2659 | + " 총계 최근증가율 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n", | |
2660 | + "구별 \n", | |
2661 | + "종로구 1715 47.844828 153789 144683 9106 27818 5.921100 18.088420\n", | |
2662 | + "중구 2447 217.792208 131787 122499 9288 24392 7.047736 18.508654\n", | |
2663 | + "용산구 2611 165.615463 237285 222953 14332 39070 6.039994 16.465432\n", | |
2664 | + "성동구 3829 218.552413 292672 285990 6682 46380 2.283102 15.847092\n", | |
2665 | + "광진구 3211 506.994329 352627 339996 12631 51723 3.581972 14.667907" | |
2666 | + ] | |
2667 | + }, | |
2668 | + "execution_count": 87, | |
2669 | + "metadata": {}, | |
2670 | + "output_type": "execute_result" | |
2671 | + } | |
2672 | + ], | |
2673 | + "source": [ | |
2674 | + "dataset.head()" | |
2675 | + ] | |
2676 | + }, | |
2677 | + { | |
2678 | + "cell_type": "code", | |
2679 | + "execution_count": null, | |
2680 | + "id": "981d8131", | |
2681 | + "metadata": {}, | |
2682 | + "outputs": [], | |
2683 | + "source": [] | |
2684 | + }, | |
2685 | + { | |
2686 | + "cell_type": "code", | |
2687 | + "execution_count": null, | |
2688 | + "id": "eac8f453", | |
2689 | + "metadata": {}, | |
2690 | + "outputs": [], | |
2691 | + "source": [] | |
2692 | + }, | |
2693 | + { | |
2694 | + "cell_type": "code", | |
2695 | + "execution_count": null, | |
2696 | + "id": "3511ef70", | |
2697 | + "metadata": {}, | |
2698 | + "outputs": [], | |
2699 | + "source": [] | |
2700 | + } | |
2701 | + ], | |
2702 | + "metadata": { | |
2703 | + "kernelspec": { | |
2704 | + "display_name": "Python 3 (ipykernel)", | |
2705 | + "language": "python", | |
2706 | + "name": "python3" | |
2707 | + }, | |
2708 | + "language_info": { | |
2709 | + "codemirror_mode": { | |
2710 | + "name": "ipython", | |
2711 | + "version": 3 | |
2712 | + }, | |
2713 | + "file_extension": ".py", | |
2714 | + "mimetype": "text/x-python", | |
2715 | + "name": "python", | |
2716 | + "nbconvert_exporter": "python", | |
2717 | + "pygments_lexer": "ipython3", | |
2718 | + "version": "3.9.7" | |
2719 | + } | |
2720 | + }, | |
2721 | + "nbformat": 4, | |
2722 | + "nbformat_minor": 5 | |
2723 | +} |
+++ 20220530/seoul_cctv_202112.csv
... | ... | @@ -0,0 +1,28 @@ |
1 | +"¡Ø 2021.12.31. ÇöȲÀ» ±âÁØÀ¸·Î °¢ ¿¬µµº° ¼³Ä¡µÈ CCTV ¼ö·®. ±³Ã¼(ÀúÈÁú±³Ã¼, ¼º´É°³¼±)´Â ÃÖÃʼ³Ä¡¿¬µµ°¡ ¾Æ´Ñ ±³Ã¼³âµµ ¼ö·®¿¡ Æ÷ÇÔ",,,,,,,,,,,, | |
2 | +±¸ºÐ,ÃÑ°è,2012³â ÀÌÀü,2012³â,2013³â,2014³â,2015³â,2016³â,2017³â,2018³â,2019³â,2020³â,2021³â | |
3 | +°è,"83,557","4,812","1,851","3,434","4,295","6,840","8,708","11,572","10,627","12,267","11,247","7,904" | |
4 | +Á¾·Î±¸,"1,715",815,,,195,150,0,261,85,9,200,0 | |
5 | +Áß±¸,"2,447",16,114,87,77,236,240,372,386,155,361,403 | |
6 | +¿ë»ê±¸,"2,611",34,71,234,125,221,298,351,125,307,617,228 | |
7 | +¼ºµ¿±¸,"3,829",163,144,208,107,325,255,967,415,490,472,283 | |
8 | +±¤Áø±¸,"3,211",35,57,100,187,98,52,675,465,712,175,655 | |
9 | +µ¿´ë¹®±¸,"2,628",4,0,14,16,115,804,814,201,218,223,219 | |
10 | +Á߶û±¸,"3,737",346,21,253,72,132,155,153,174,1049,934,448 | |
11 | +¼ººÏ±¸,"4,602",81,78,170,229,322,594,890,867,714,253,404 | |
12 | +°ºÏ±¸,"3,090",8,0,22,61,124,251,29,391,1078,656,470 | |
13 | +µµºÀ±¸,"1,930",128,22,2,145,172,123,129,222,210,184,593 | |
14 | +³ë¿ø±¸,"2,492",0,87,164,77,514,331,175,216,320,387,221 | |
15 | +ÀºÆò±¸,"4,131",14,3,44,332,329,555,403,635,1057,288,471 | |
16 | +¼´ë¹®±¸,"3,055",730,253,155,108,137,223,356,237,343,397,116 | |
17 | +¸¶Æ÷±¸,"2,496",23,19,40,112,185,478,365,373,494,299,108 | |
18 | +¾çõ±¸,"3,650",71,174,158,134,246,424,577,837,312,346,371 | |
19 | +°¼±¸,"2,744",54,122,104,202,199,168,506,259,457,356,317 | |
20 | +±¸·Î±¸,"4,608",852,216,349,187,268,326,540,488,434,415,533 | |
21 | +±Ýõ±¸,"2,411",0,0,174,80,361,133,196,539,367,513,48 | |
22 | +¿µµîÆ÷±¸,"4,056",572,136,238,123,209,248,311,658,65,1213,283 | |
23 | +µ¿ÀÛ±¸,"2,306",41,24,25,503,128,253,271,300,322,419,20 | |
24 | +°ü¾Ç±¸,"5,149",440,84,431,439,609,622,688,674,595,331,236 | |
25 | +¼Ãʱ¸,"4,082",8,73,79,70,562,504,1041,417,339,433,556 | |
26 | +°³²±¸,"6,871",69,67,66,580,830,1293,988,745,791,926,516 | |
27 | +¼ÛÆı¸,"2,897",40,59,90,85,214,176,241,541,1073,235,143 | |
28 | +°µ¿±¸,"2,809",268,27,227,49,154,202,273,377,356,614,262 |
+++ 20220530/seoul_population.xls
Binary file is not shown |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?