File name
Commit message
Commit date
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": 17,
"id": "f9691b90",
"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>83,557</td>\n",
" <td>4,812</td>\n",
" <td>1,851</td>\n",
" <td>3,434</td>\n",
" <td>4,295</td>\n",
" <td>6,840</td>\n",
" <td>8,708</td>\n",
" <td>11,572</td>\n",
" <td>10,627</td>\n",
" <td>12,267</td>\n",
" <td>11,247</td>\n",
" <td>7,904</td>\n",
" </tr>\n",
" <tr>\n",
" <th>종로구</th>\n",
" <td>1,715</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>2,447</td>\n",
" <td>16</td>\n",
" <td>114</td>\n",
" <td>87</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>2,611</td>\n",
" <td>34</td>\n",
" <td>71</td>\n",
" <td>234</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>3,829</td>\n",
" <td>163</td>\n",
" <td>144</td>\n",
" <td>208</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",
"계 83,557 4,812 1,851 3,434 4,295 6,840 8,708 11,572 10,627 \n",
"종로구 1,715 815 NaN NaN 195 150 0 261 85 \n",
"중구 2,447 16 114 87 77 236 240 372 386 \n",
"용산구 2,611 34 71 234 125 221 298 351 125 \n",
"성동구 3,829 163 144 208 107 325 255 967 415 \n",
"\n",
" 2019년 2020년 2021년 \n",
"구분 \n",
"계 12,267 11,247 7,904 \n",
"종로구 9 200 0 \n",
"중구 155 361 403 \n",
"용산구 307 617 228 \n",
"성동구 490 472 283 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData = pd.read_csv('./seoul_cctv_202112.csv', encoding='cp949', skiprows=1, index_col='구분')\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "8184defd",
"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>1,715</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>2,447</td>\n",
" <td>16</td>\n",
" <td>114</td>\n",
" <td>87</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>2,611</td>\n",
" <td>34</td>\n",
" <td>71</td>\n",
" <td>234</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>3,829</td>\n",
" <td>163</td>\n",
" <td>144</td>\n",
" <td>208</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>3,211</td>\n",
" <td>35</td>\n",
" <td>57</td>\n",
" <td>100</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년 2020년 \\\n",
"구분 \n",
"종로구 1,715 815 NaN NaN 195 150 0 261 85 9 200 \n",
"중구 2,447 16 114 87 77 236 240 372 386 155 361 \n",
"용산구 2,611 34 71 234 125 221 298 351 125 307 617 \n",
"성동구 3,829 163 144 208 107 325 255 967 415 490 472 \n",
"광진구 3,211 35 57 100 187 98 52 675 465 712 175 \n",
"\n",
" 2021년 \n",
"구분 \n",
"종로구 0 \n",
"중구 403 \n",
"용산구 228 \n",
"성동구 283 \n",
"광진구 655 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.drop('계', inplace=True)\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "11fb1d65",
"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>1,715</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>2,447</td>\n",
" <td>16</td>\n",
" <td>114</td>\n",
" <td>87</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>2,611</td>\n",
" <td>34</td>\n",
" <td>71</td>\n",
" <td>234</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>3,829</td>\n",
" <td>163</td>\n",
" <td>144</td>\n",
" <td>208</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>3,211</td>\n",
" <td>35</td>\n",
" <td>57</td>\n",
" <td>100</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년 2020년 \\\n",
"0 종로구 1,715 815 NaN NaN 195 150 0 261 85 9 200 \n",
"1 중구 2,447 16 114 87 77 236 240 372 386 155 361 \n",
"2 용산구 2,611 34 71 234 125 221 298 351 125 307 617 \n",
"3 성동구 3,829 163 144 208 107 325 255 967 415 490 472 \n",
"4 광진구 3,211 35 57 100 187 98 52 675 465 712 175 \n",
"\n",
" 2021년 \n",
"0 0 \n",
"1 403 \n",
"2 228 \n",
"3 283 \n",
"4 655 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.reset_index(inplace=True)\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "8fc76d77",
"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>1,715</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>2,447</td>\n",
" <td>16</td>\n",
" <td>114</td>\n",
" <td>87</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>2,611</td>\n",
" <td>34</td>\n",
" <td>71</td>\n",
" <td>234</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>3,829</td>\n",
" <td>163</td>\n",
" <td>144</td>\n",
" <td>208</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>3,211</td>\n",
" <td>35</td>\n",
" <td>57</td>\n",
" <td>100</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년 2020년 \\\n",
"0 종로구 1,715 815 NaN NaN 195 150 0 261 85 9 200 \n",
"1 중구 2,447 16 114 87 77 236 240 372 386 155 361 \n",
"2 용산구 2,611 34 71 234 125 221 298 351 125 307 617 \n",
"3 성동구 3,829 163 144 208 107 325 255 967 415 490 472 \n",
"4 광진구 3,211 35 57 100 187 98 52 675 465 712 175 \n",
"\n",
" 2021년 \n",
"0 0 \n",
"1 403 \n",
"2 228 \n",
"3 283 \n",
"4 655 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.rename(columns={'구분':'구별'}, inplace=True)\n",
"cctvData.head()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f924974d",
"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": 21,
"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": 22,
"id": "7fcdba74",
"metadata": {},
"outputs": [],
"source": [
"popData.rename(columns={'자치구':'구별', '계':'인구수', '계.1':'한국인', '계.2':'외국인', '65세이상고령자':'고령자'}, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "b725e640",
"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": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popData.head()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "60e168a3",
"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>6,871</td>\n",
" <td>69</td>\n",
" <td>67</td>\n",
" <td>66</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>5,149</td>\n",
" <td>440</td>\n",
" <td>84</td>\n",
" <td>431</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>4,608</td>\n",
" <td>852</td>\n",
" <td>216</td>\n",
" <td>349</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>4,602</td>\n",
" <td>81</td>\n",
" <td>78</td>\n",
" <td>170</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>4,131</td>\n",
" <td>14</td>\n",
" <td>3</td>\n",
" <td>44</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년 2019년 2020년 \\\n",
"22 강남구 6,871 69 67 66 580 830 1293 988 745 791 926 \n",
"20 관악구 5,149 440 84 431 439 609 622 688 674 595 331 \n",
"16 구로구 4,608 852 216 349 187 268 326 540 488 434 415 \n",
"7 성북구 4,602 81 78 170 229 322 594 890 867 714 253 \n",
"11 은평구 4,131 14 3 44 332 329 555 403 635 1057 288 \n",
"\n",
" 2021년 \n",
"22 516 \n",
"20 236 \n",
"16 533 \n",
"7 404 \n",
"11 471 "
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.sort_values(by='총계', ascending=False).head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8e4b2882",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 27,
"id": "b3bba330",
"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",
" <tr>\n",
" <th>5</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>6</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>7</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>8</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>9</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>10</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>11</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>12</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>13</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>14</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>15</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>16</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>17</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>18</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>19</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>20</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>21</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>22</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>23</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>24</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",
"5 False False False False False False False False False False \n",
"6 False False False False False False False False False False \n",
"7 False False False False False False False False False False \n",
"8 False False False False False False False False False False \n",
"9 False False False False False False False False False False \n",
"10 False False False False False False False False False False \n",
"11 False False False False False False False False False False \n",
"12 False False False False False False False False False False \n",
"13 False False False False False False False False False False \n",
"14 False False False False False False False False False False \n",
"15 False False False False False False False False False False \n",
"16 False False False False False False False False False False \n",
"17 False False False False False False False False False False \n",
"18 False False False False False False False False False False \n",
"19 False False False False False False False False False False \n",
"20 False False False False False False False False False False \n",
"21 False False False False False False False False False False \n",
"22 False False False False False False False False False False \n",
"23 False False False False False False False False False False \n",
"24 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 \n",
"5 False False False \n",
"6 False False False \n",
"7 False False False \n",
"8 False False False \n",
"9 False False False \n",
"10 False False False \n",
"11 False False False \n",
"12 False False False \n",
"13 False False False \n",
"14 False False False \n",
"15 False False False \n",
"16 False False False \n",
"17 False False False \n",
"18 False False False \n",
"19 False False False \n",
"20 False False False \n",
"21 False False False \n",
"22 False False False \n",
"23 False False False \n",
"24 False False False "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cctvData.isnull()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fcd8d10c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "7485fb10",
"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
}