File name
Commit message
Commit date
File name
Commit message
Commit date
{
"cells": [
{
"cell_type": "code",
"execution_count": 16,
"id": "55e4cb48",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "0dcd7237",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" <tr>\n",
" <th>구분</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>계</th>\n",
" <td>83557</td>\n",
" <td>4812</td>\n",
" <td>1851.0</td>\n",
" <td>3434.0</td>\n",
" <td>4295</td>\n",
" <td>6840</td>\n",
" <td>8708</td>\n",
" <td>11572</td>\n",
" <td>10627</td>\n",
" <td>12267</td>\n",
" <td>11247</td>\n",
" <td>7904</td>\n",
" </tr>\n",
" <tr>\n",
" <th>종로구</th>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>중구</th>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>용산구</th>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" </tr>\n",
" <tr>\n",
" <th>성동구</th>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"구분 \n",
"계 83557 4812 1851.0 3434.0 4295 6840 8708 11572 10627 \n",
"종로구 1715 815 NaN NaN 195 150 0 261 85 \n",
"중구 2447 16 114.0 87.0 77 236 240 372 386 \n",
"용산구 2611 34 71.0 234.0 125 221 298 351 125 \n",
"성동구 3829 163 144.0 208.0 107 325 255 967 415 \n",
"\n",
" 2019년 2020년 2021년 \n",
"구분 \n",
"계 12267 11247 7904 \n",
"종로구 9 200 0 \n",
"중구 155 361 403 \n",
"용산구 307 617 228 \n",
"성동구 490 472 283 "
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData = pd.read_csv('./seoul_cctv_202112.csv', encoding='cp949', skiprows=1, index_col='구분', thousands=',')\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "553f652c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" <tr>\n",
" <th>구분</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>종로구</th>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>중구</th>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>용산구</th>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" </tr>\n",
" <tr>\n",
" <th>성동구</th>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>광진구</th>\n",
" <td>3211</td>\n",
" <td>35</td>\n",
" <td>57.0</td>\n",
" <td>100.0</td>\n",
" <td>187</td>\n",
" <td>98</td>\n",
" <td>52</td>\n",
" <td>675</td>\n",
" <td>465</td>\n",
" <td>712</td>\n",
" <td>175</td>\n",
" <td>655</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 2019년 \\\n",
"구분 \n",
"종로구 1715 815 NaN NaN 195 150 0 261 85 9 \n",
"중구 2447 16 114.0 87.0 77 236 240 372 386 155 \n",
"용산구 2611 34 71.0 234.0 125 221 298 351 125 307 \n",
"성동구 3829 163 144.0 208.0 107 325 255 967 415 490 \n",
"광진구 3211 35 57.0 100.0 187 98 52 675 465 712 \n",
"\n",
" 2020년 2021년 \n",
"구분 \n",
"종로구 200 0 \n",
"중구 361 403 \n",
"용산구 617 228 \n",
"성동구 472 283 \n",
"광진구 175 655 "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.drop('계', inplace=True)\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "783465f1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구분</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>3211</td>\n",
" <td>35</td>\n",
" <td>57.0</td>\n",
" <td>100.0</td>\n",
" <td>187</td>\n",
" <td>98</td>\n",
" <td>52</td>\n",
" <td>675</td>\n",
" <td>465</td>\n",
" <td>712</td>\n",
" <td>175</td>\n",
" <td>655</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구분 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"0 종로구 1715 815 NaN NaN 195 150 0 261 85 \n",
"1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n",
"2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n",
"3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n",
"4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n",
"\n",
" 2019년 2020년 2021년 \n",
"0 9 200 0 \n",
"1 155 361 403 \n",
"2 307 617 228 \n",
"3 490 472 283 \n",
"4 712 175 655 "
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.reset_index(inplace=True)\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "1cedd174",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>3211</td>\n",
" <td>35</td>\n",
" <td>57.0</td>\n",
" <td>100.0</td>\n",
" <td>187</td>\n",
" <td>98</td>\n",
" <td>52</td>\n",
" <td>675</td>\n",
" <td>465</td>\n",
" <td>712</td>\n",
" <td>175</td>\n",
" <td>655</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"0 종로구 1715 815 NaN NaN 195 150 0 261 85 \n",
"1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n",
"2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n",
"3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n",
"4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n",
"\n",
" 2019년 2020년 2021년 \n",
"0 9 200 0 \n",
"1 155 361 403 \n",
"2 307 617 228 \n",
"3 490 472 283 \n",
"4 712 175 655 "
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.rename(columns={'구분':'구별'}, inplace=True)\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "db484ef5",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>자치구</th>\n",
" <th>계</th>\n",
" <th>계.1</th>\n",
" <th>계.2</th>\n",
" <th>65세이상고령자</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>합계</td>\n",
" <td>9736027</td>\n",
" <td>9509458</td>\n",
" <td>226569</td>\n",
" <td>1605416</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>종로구</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>중구</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>용산구</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>성동구</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 자치구 계 계.1 계.2 65세이상고령자\n",
"0 합계 9736027 9509458 226569 1605416\n",
"1 종로구 153789 144683 9106 27818\n",
"2 중구 131787 122499 9288 24392\n",
"3 용산구 237285 222953 14332 39070\n",
"4 성동구 292672 285990 6682 46380"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData = pd.read_excel('./seoul_population.xls', header=2, usecols='B, D, G, J, N')\n",
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "3d54312e",
"metadata": {},
"outputs": [],
"source": [
"popData.rename(columns={'자치구':'구별', '계':'인구수', '계.1':'한국인', '계.2':'외국인', '65세이상고령자':'고령자'}, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "b055fd00",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>합계</td>\n",
" <td>9736027</td>\n",
" <td>9509458</td>\n",
" <td>226569</td>\n",
" <td>1605416</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>종로구</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>중구</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>용산구</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>성동구</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 인구수 한국인 외국인 고령자\n",
"0 합계 9736027 9509458 226569 1605416\n",
"1 종로구 153789 144683 9106 27818\n",
"2 중구 131787 122499 9288 24392\n",
"3 용산구 237285 222953 14332 39070\n",
"4 성동구 292672 285990 6682 46380"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "1155ded1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>강남구</td>\n",
" <td>6871</td>\n",
" <td>69</td>\n",
" <td>67.0</td>\n",
" <td>66.0</td>\n",
" <td>580</td>\n",
" <td>830</td>\n",
" <td>1293</td>\n",
" <td>988</td>\n",
" <td>745</td>\n",
" <td>791</td>\n",
" <td>926</td>\n",
" <td>516</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>관악구</td>\n",
" <td>5149</td>\n",
" <td>440</td>\n",
" <td>84.0</td>\n",
" <td>431.0</td>\n",
" <td>439</td>\n",
" <td>609</td>\n",
" <td>622</td>\n",
" <td>688</td>\n",
" <td>674</td>\n",
" <td>595</td>\n",
" <td>331</td>\n",
" <td>236</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>구로구</td>\n",
" <td>4608</td>\n",
" <td>852</td>\n",
" <td>216.0</td>\n",
" <td>349.0</td>\n",
" <td>187</td>\n",
" <td>268</td>\n",
" <td>326</td>\n",
" <td>540</td>\n",
" <td>488</td>\n",
" <td>434</td>\n",
" <td>415</td>\n",
" <td>533</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>성북구</td>\n",
" <td>4602</td>\n",
" <td>81</td>\n",
" <td>78.0</td>\n",
" <td>170.0</td>\n",
" <td>229</td>\n",
" <td>322</td>\n",
" <td>594</td>\n",
" <td>890</td>\n",
" <td>867</td>\n",
" <td>714</td>\n",
" <td>253</td>\n",
" <td>404</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>은평구</td>\n",
" <td>4131</td>\n",
" <td>14</td>\n",
" <td>3.0</td>\n",
" <td>44.0</td>\n",
" <td>332</td>\n",
" <td>329</td>\n",
" <td>555</td>\n",
" <td>403</td>\n",
" <td>635</td>\n",
" <td>1057</td>\n",
" <td>288</td>\n",
" <td>471</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"22 강남구 6871 69 67.0 66.0 580 830 1293 988 745 \n",
"20 관악구 5149 440 84.0 431.0 439 609 622 688 674 \n",
"16 구로구 4608 852 216.0 349.0 187 268 326 540 488 \n",
"7 성북구 4602 81 78.0 170.0 229 322 594 890 867 \n",
"11 은평구 4131 14 3.0 44.0 332 329 555 403 635 \n",
"\n",
" 2019년 2020년 2021년 \n",
"22 791 926 516 \n",
"20 595 331 236 \n",
"16 434 415 533 \n",
"7 714 253 404 \n",
"11 1057 288 471 "
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.sort_values(by='총계', ascending=False).head()"
]
},
{
"cell_type": "markdown",
"id": "c19ff9a5",
"metadata": {},
"source": [
"# 결측치 확인"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "f5ae607d",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"0 False False False True True False False False False False \n",
"1 False False False False False False False False False False \n",
"2 False False False False False False False False False False \n",
"3 False False False False False False False False False False \n",
"4 False False False False False False False False False False \n",
"\n",
" 2019년 2020년 2021년 \n",
"0 False False False \n",
"1 False False False \n",
"2 False False False \n",
"3 False False False \n",
"4 False False False "
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.isnull().head()"
]
},
{
"cell_type": "markdown",
"id": "8870c6b9",
"metadata": {},
"source": [
"# 결측치 -> 0"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "0a55bfc0",
"metadata": {},
"outputs": [],
"source": [
"cctvData = cctvData.fillna(0)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "2d93fa68",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>3211</td>\n",
" <td>35</td>\n",
" <td>57.0</td>\n",
" <td>100.0</td>\n",
" <td>187</td>\n",
" <td>98</td>\n",
" <td>52</td>\n",
" <td>675</td>\n",
" <td>465</td>\n",
" <td>712</td>\n",
" <td>175</td>\n",
" <td>655</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"0 종로구 1715 815 0.0 0.0 195 150 0 261 85 \n",
"1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n",
"2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n",
"3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n",
"4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n",
"\n",
" 2019년 2020년 2021년 \n",
"0 9 200 0 \n",
"1 155 361 403 \n",
"2 307 617 228 \n",
"3 490 472 283 \n",
"4 712 175 655 "
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "154242e7",
"metadata": {},
"outputs": [],
"source": [
"for col in cctvData.columns:\n",
" if col == '구별':\n",
" continue\n",
" else:\n",
" cctvData[col] = pd.to_numeric(cctvData[col])"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "326eedd9",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"cctvData['최근증가율'] = ( (cctvData['2021년'] + cctvData['2020년'] + cctvData['2019년'] + cctvData['2018년'] + cctvData['2017년']) / (cctvData['2016년'] + cctvData['2015년'] + cctvData['2014년'] + cctvData['2013년'] + cctvData['2012년'] + cctvData['2012년 이전']) ) * 100"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "ae114acf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" <th>최근증가율</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" <td>47.844828</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" <td>217.792208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" <td>165.615463</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" <td>218.552413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>3211</td>\n",
" <td>35</td>\n",
" <td>57.0</td>\n",
" <td>100.0</td>\n",
" <td>187</td>\n",
" <td>98</td>\n",
" <td>52</td>\n",
" <td>675</td>\n",
" <td>465</td>\n",
" <td>712</td>\n",
" <td>175</td>\n",
" <td>655</td>\n",
" <td>506.994329</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"0 종로구 1715 815 0.0 0.0 195 150 0 261 85 \n",
"1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n",
"2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n",
"3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n",
"4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n",
"\n",
" 2019년 2020년 2021년 최근증가율 \n",
"0 9 200 0 47.844828 \n",
"1 155 361 403 217.792208 \n",
"2 307 617 228 165.615463 \n",
"3 490 472 283 218.552413 \n",
"4 712 175 655 506.994329 "
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "989c4761",
"metadata": {},
"outputs": [],
"source": [
"popData.drop(0, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "dd336bb1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>종로구</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>중구</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>용산구</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>성동구</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>광진구</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 인구수 한국인 외국인 고령자\n",
"1 종로구 153789 144683 9106 27818\n",
"2 중구 131787 122499 9288 24392\n",
"3 용산구 237285 222953 14332 39070\n",
"4 성동구 292672 285990 6682 46380\n",
"5 광진구 352627 339996 12631 51723"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "90558ebd",
"metadata": {},
"outputs": [],
"source": [
"popData.reset_index(inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "d6567617",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>index</th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>종로구</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>중구</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>용산구</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>성동구</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>광진구</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" index 구별 인구수 한국인 외국인 고령자\n",
"0 1 종로구 153789 144683 9106 27818\n",
"1 2 중구 131787 122499 9288 24392\n",
"2 3 용산구 237285 222953 14332 39070\n",
"3 4 성동구 292672 285990 6682 46380\n",
"4 5 광진구 352627 339996 12631 51723"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "3b2078b6",
"metadata": {},
"outputs": [],
"source": [
"popData.drop(columns='index', inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "5df44162",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 인구수 한국인 외국인 고령자\n",
"0 종로구 153789 144683 9106 27818\n",
"1 중구 131787 122499 9288 24392\n",
"2 용산구 237285 222953 14332 39070\n",
"3 성동구 292672 285990 6682 46380\n",
"4 광진구 352627 339996 12631 51723"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "5eeb7eef",
"metadata": {},
"outputs": [],
"source": [
"popData['외국인비율'] = ((popData['외국인'] / popData['인구수'])) *100\n",
"popData['고령자비율'] = ((popData['고령자'] / popData['인구수'])) * 100"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "68762fc0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" <th>외국인비율</th>\n",
" <th>고령자비율</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" <td>5.921100</td>\n",
" <td>18.088420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" <td>7.047736</td>\n",
" <td>18.508654</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" <td>6.039994</td>\n",
" <td>16.465432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" <td>2.283102</td>\n",
" <td>15.847092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" <td>3.581972</td>\n",
" <td>14.667907</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n",
"0 종로구 153789 144683 9106 27818 5.921100 18.088420\n",
"1 중구 131787 122499 9288 24392 7.047736 18.508654\n",
"2 용산구 237285 222953 14332 39070 6.039994 16.465432\n",
"3 성동구 292672 285990 6682 46380 2.283102 15.847092\n",
"4 광진구 352627 339996 12631 51723 3.581972 14.667907"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "e185b622",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" <th>외국인비율</th>\n",
" <th>고령자비율</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>송파구</td>\n",
" <td>663965</td>\n",
" <td>658338</td>\n",
" <td>5627</td>\n",
" <td>97691</td>\n",
" <td>0.847484</td>\n",
" <td>14.713276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>강서구</td>\n",
" <td>579768</td>\n",
" <td>574315</td>\n",
" <td>5453</td>\n",
" <td>92558</td>\n",
" <td>0.940549</td>\n",
" <td>15.964662</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>강남구</td>\n",
" <td>537800</td>\n",
" <td>533042</td>\n",
" <td>4758</td>\n",
" <td>78226</td>\n",
" <td>0.884716</td>\n",
" <td>14.545556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>노원구</td>\n",
" <td>514946</td>\n",
" <td>510956</td>\n",
" <td>3990</td>\n",
" <td>88345</td>\n",
" <td>0.774839</td>\n",
" <td>17.156168</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>관악구</td>\n",
" <td>499449</td>\n",
" <td>485699</td>\n",
" <td>13750</td>\n",
" <td>79871</td>\n",
" <td>2.753034</td>\n",
" <td>15.991823</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n",
"23 송파구 663965 658338 5627 97691 0.847484 14.713276\n",
"15 강서구 579768 574315 5453 92558 0.940549 15.964662\n",
"22 강남구 537800 533042 4758 78226 0.884716 14.545556\n",
"10 노원구 514946 510956 3990 88345 0.774839 17.156168\n",
"20 관악구 499449 485699 13750 79871 2.753034 15.991823"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.sort_values(by = '인구수', ascending=False).head()"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "42fe3110",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" <th>외국인비율</th>\n",
" <th>고령자비율</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>송파구</td>\n",
" <td>663965</td>\n",
" <td>658338</td>\n",
" <td>5627</td>\n",
" <td>97691</td>\n",
" <td>0.847484</td>\n",
" <td>14.713276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>강서구</td>\n",
" <td>579768</td>\n",
" <td>574315</td>\n",
" <td>5453</td>\n",
" <td>92558</td>\n",
" <td>0.940549</td>\n",
" <td>15.964662</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>노원구</td>\n",
" <td>514946</td>\n",
" <td>510956</td>\n",
" <td>3990</td>\n",
" <td>88345</td>\n",
" <td>0.774839</td>\n",
" <td>17.156168</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>은평구</td>\n",
" <td>477173</td>\n",
" <td>473307</td>\n",
" <td>3866</td>\n",
" <td>87241</td>\n",
" <td>0.810188</td>\n",
" <td>18.282887</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>관악구</td>\n",
" <td>499449</td>\n",
" <td>485699</td>\n",
" <td>13750</td>\n",
" <td>79871</td>\n",
" <td>2.753034</td>\n",
" <td>15.991823</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n",
"23 송파구 663965 658338 5627 97691 0.847484 14.713276\n",
"15 강서구 579768 574315 5453 92558 0.940549 15.964662\n",
"10 노원구 514946 510956 3990 88345 0.774839 17.156168\n",
"11 은평구 477173 473307 3866 87241 0.810188 18.282887\n",
"20 관악구 499449 485699 13750 79871 2.753034 15.991823"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.sort_values(by = '고령자', ascending=False).head()"
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "0c7a1da6",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>2012년 이전</th>\n",
" <th>2012년</th>\n",
" <th>2013년</th>\n",
" <th>2014년</th>\n",
" <th>2015년</th>\n",
" <th>2016년</th>\n",
" <th>2017년</th>\n",
" <th>2018년</th>\n",
" <th>2019년</th>\n",
" <th>2020년</th>\n",
" <th>2021년</th>\n",
" <th>최근증가율</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" <th>외국인비율</th>\n",
" <th>고령자비율</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>1715</td>\n",
" <td>815</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>195</td>\n",
" <td>150</td>\n",
" <td>0</td>\n",
" <td>261</td>\n",
" <td>85</td>\n",
" <td>9</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" <td>47.844828</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" <td>5.921100</td>\n",
" <td>18.088420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>2447</td>\n",
" <td>16</td>\n",
" <td>114.0</td>\n",
" <td>87.0</td>\n",
" <td>77</td>\n",
" <td>236</td>\n",
" <td>240</td>\n",
" <td>372</td>\n",
" <td>386</td>\n",
" <td>155</td>\n",
" <td>361</td>\n",
" <td>403</td>\n",
" <td>217.792208</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" <td>7.047736</td>\n",
" <td>18.508654</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>2611</td>\n",
" <td>34</td>\n",
" <td>71.0</td>\n",
" <td>234.0</td>\n",
" <td>125</td>\n",
" <td>221</td>\n",
" <td>298</td>\n",
" <td>351</td>\n",
" <td>125</td>\n",
" <td>307</td>\n",
" <td>617</td>\n",
" <td>228</td>\n",
" <td>165.615463</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" <td>6.039994</td>\n",
" <td>16.465432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>3829</td>\n",
" <td>163</td>\n",
" <td>144.0</td>\n",
" <td>208.0</td>\n",
" <td>107</td>\n",
" <td>325</td>\n",
" <td>255</td>\n",
" <td>967</td>\n",
" <td>415</td>\n",
" <td>490</td>\n",
" <td>472</td>\n",
" <td>283</td>\n",
" <td>218.552413</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" <td>2.283102</td>\n",
" <td>15.847092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>3211</td>\n",
" <td>35</td>\n",
" <td>57.0</td>\n",
" <td>100.0</td>\n",
" <td>187</td>\n",
" <td>98</td>\n",
" <td>52</td>\n",
" <td>675</td>\n",
" <td>465</td>\n",
" <td>712</td>\n",
" <td>175</td>\n",
" <td>655</td>\n",
" <td>506.994329</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" <td>3.581972</td>\n",
" <td>14.667907</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 2012년 이전 2012년 2013년 2014년 2015년 2016년 2017년 2018년 \\\n",
"0 종로구 1715 815 0.0 0.0 195 150 0 261 85 \n",
"1 중구 2447 16 114.0 87.0 77 236 240 372 386 \n",
"2 용산구 2611 34 71.0 234.0 125 221 298 351 125 \n",
"3 성동구 3829 163 144.0 208.0 107 325 255 967 415 \n",
"4 광진구 3211 35 57.0 100.0 187 98 52 675 465 \n",
"\n",
" 2019년 2020년 2021년 최근증가율 인구수 한국인 외국인 고령자 외국인비율 \\\n",
"0 9 200 0 47.844828 153789 144683 9106 27818 5.921100 \n",
"1 155 361 403 217.792208 131787 122499 9288 24392 7.047736 \n",
"2 307 617 228 165.615463 237285 222953 14332 39070 6.039994 \n",
"3 490 472 283 218.552413 292672 285990 6682 46380 2.283102 \n",
"4 712 175 655 506.994329 352627 339996 12631 51723 3.581972 \n",
"\n",
" 고령자비율 \n",
"0 18.088420 \n",
"1 18.508654 \n",
"2 16.465432 \n",
"3 15.847092 \n",
"4 14.667907 "
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset = pd.merge(cctvData, popData, on='구별')\n",
"dataset.head()"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "9d8d3ade",
"metadata": {},
"outputs": [],
"source": [
"del dataset['2012년 이전']\n",
"del dataset['2012년']\n",
"del dataset['2013년']\n",
"del dataset['2014년']\n",
"del dataset['2015년']\n",
"del dataset['2016년']\n",
"del dataset['2017년']\n",
"del dataset['2018년']\n",
"del dataset['2019년']\n",
"del dataset['2020년']\n",
"del dataset['2021년']"
]
},
{
"cell_type": "code",
"execution_count": 85,
"id": "08238cb5",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>구별</th>\n",
" <th>총계</th>\n",
" <th>최근증가율</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" <th>외국인비율</th>\n",
" <th>고령자비율</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>종로구</td>\n",
" <td>1715</td>\n",
" <td>47.844828</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" <td>5.921100</td>\n",
" <td>18.088420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>중구</td>\n",
" <td>2447</td>\n",
" <td>217.792208</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" <td>7.047736</td>\n",
" <td>18.508654</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>용산구</td>\n",
" <td>2611</td>\n",
" <td>165.615463</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" <td>6.039994</td>\n",
" <td>16.465432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>성동구</td>\n",
" <td>3829</td>\n",
" <td>218.552413</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" <td>2.283102</td>\n",
" <td>15.847092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>광진구</td>\n",
" <td>3211</td>\n",
" <td>506.994329</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" <td>3.581972</td>\n",
" <td>14.667907</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 구별 총계 최근증가율 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n",
"0 종로구 1715 47.844828 153789 144683 9106 27818 5.921100 18.088420\n",
"1 중구 2447 217.792208 131787 122499 9288 24392 7.047736 18.508654\n",
"2 용산구 2611 165.615463 237285 222953 14332 39070 6.039994 16.465432\n",
"3 성동구 3829 218.552413 292672 285990 6682 46380 2.283102 15.847092\n",
"4 광진구 3211 506.994329 352627 339996 12631 51723 3.581972 14.667907"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset.head()"
]
},
{
"cell_type": "code",
"execution_count": 86,
"id": "4f6a862c",
"metadata": {},
"outputs": [],
"source": [
"dataset.set_index('구별', inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "e010a71c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>총계</th>\n",
" <th>최근증가율</th>\n",
" <th>인구수</th>\n",
" <th>한국인</th>\n",
" <th>외국인</th>\n",
" <th>고령자</th>\n",
" <th>외국인비율</th>\n",
" <th>고령자비율</th>\n",
" </tr>\n",
" <tr>\n",
" <th>구별</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>종로구</th>\n",
" <td>1715</td>\n",
" <td>47.844828</td>\n",
" <td>153789</td>\n",
" <td>144683</td>\n",
" <td>9106</td>\n",
" <td>27818</td>\n",
" <td>5.921100</td>\n",
" <td>18.088420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>중구</th>\n",
" <td>2447</td>\n",
" <td>217.792208</td>\n",
" <td>131787</td>\n",
" <td>122499</td>\n",
" <td>9288</td>\n",
" <td>24392</td>\n",
" <td>7.047736</td>\n",
" <td>18.508654</td>\n",
" </tr>\n",
" <tr>\n",
" <th>용산구</th>\n",
" <td>2611</td>\n",
" <td>165.615463</td>\n",
" <td>237285</td>\n",
" <td>222953</td>\n",
" <td>14332</td>\n",
" <td>39070</td>\n",
" <td>6.039994</td>\n",
" <td>16.465432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>성동구</th>\n",
" <td>3829</td>\n",
" <td>218.552413</td>\n",
" <td>292672</td>\n",
" <td>285990</td>\n",
" <td>6682</td>\n",
" <td>46380</td>\n",
" <td>2.283102</td>\n",
" <td>15.847092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>광진구</th>\n",
" <td>3211</td>\n",
" <td>506.994329</td>\n",
" <td>352627</td>\n",
" <td>339996</td>\n",
" <td>12631</td>\n",
" <td>51723</td>\n",
" <td>3.581972</td>\n",
" <td>14.667907</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 총계 최근증가율 인구수 한국인 외국인 고령자 외국인비율 고령자비율\n",
"구별 \n",
"종로구 1715 47.844828 153789 144683 9106 27818 5.921100 18.088420\n",
"중구 2447 217.792208 131787 122499 9288 24392 7.047736 18.508654\n",
"용산구 2611 165.615463 237285 222953 14332 39070 6.039994 16.465432\n",
"성동구 3829 218.552413 292672 285990 6682 46380 2.283102 15.847092\n",
"광진구 3211 506.994329 352627 339996 12631 51723 3.581972 14.667907"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "981d8131",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "eac8f453",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "3511ef70",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}