Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
코로나바이러스감염증-19 감염현황 데이터 분석 (02-29 16:00 현재)
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 코로나바이러스감염증-19 감염현황 데이터 분석 (02-29 16:00 현재)\n",
"\n",
"질병관리본부에서 매일 발표하고 있는 일일 집계 현황을 다음의 구글 시트에 별도로 저장한 후, 이를 분석합니다.\n",
"\n",
"https://docs.google.com/spreadsheets/d/1nqc9A9M5QJgSnjkErWeyDS4KTiLB1N9VjHd3T6k69hE/\n",
"\n",
"활용 가능한 데이터가 추가되는대로 계속 보완합니다. "
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from io import BytesIO\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import requests"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"matplotlib 차트 한글폰트 설정"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"plt.rc('font', family='AppleGothic')\n",
"plt.rcParams['axes.unicode_minus'] = False"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"구글시트에 정리된 데이터를 가져옵니다."
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [],
"source": [
"r = requests.get('https://docs.google.com/spreadsheet/ccc?key=1nqc9A9M5QJgSnjkErWeyDS4KTiLB1N9VjHd3T6k69hE&output=csv')\n",
"df = pd.read_csv(BytesIO(r.content), index_col=0, skiprows=1).iloc[2:, :-4]\n",
"df.columns = [c.replace('\\n', ' ') for c in df.columns]\n",
"df.index = pd.to_datetime([f'2020-{i}' for i in df.index])\n",
"df['대구'] = df['대구'].str.replace(',', '').astype(float)\n",
"df['확진자'] = df['확진자'].str.replace(',', '').astype(float)\n",
"df['검사수'] = df['검사수'].str.replace(',', '').astype(float)\n",
"df = df.replace(np.nan, 0).sort_index()"
]
},
{
"cell_type": "code",
"execution_count": 78,
"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",
" <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>2020-01-23</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>22.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-24</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>25.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-25</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-26</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>48.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-27</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>57.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 22 columns</p>\n",
"</div>"
],
"text/plain": [
" 서울 부산 대구 인천 광주 대전 울산 세종 경기 강원 ... 전북 전남 \\\n",
"2020-01-23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 \n",
"2020-01-24 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 \n",
"2020-01-25 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 \n",
"2020-01-26 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 \n",
"2020-01-27 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 \n",
"\n",
" 경북 경남 제주 지역 모름 확진자 사망 격리 해제 검사수 \n",
"2020-01-23 0.0 0.0 0.0 1.0 1.0 0.0 0.0 22.0 \n",
"2020-01-24 0.0 0.0 0.0 1.0 1.0 0.0 0.0 25.0 \n",
"2020-01-25 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"2020-01-26 0.0 0.0 0.0 1.0 1.0 0.0 0.0 48.0 \n",
"2020-01-27 0.0 0.0 0.0 1.0 1.0 0.0 0.0 57.0 \n",
"\n",
"[5 rows x 22 columns]"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"누적값을 별도 컬럼에 추가합니다."
]
},
{
"cell_type": "code",
"execution_count": 79,
"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",
" <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>2020-01-23</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>22.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-24</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>47.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-25</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>47.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-26</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" <td>3.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>95.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-27</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>152.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 44 columns</p>\n",
"</div>"
],
"text/plain": [
" 서울 부산 대구 인천 광주 대전 울산 세종 경기 강원 ... 전북 누적 \\\n",
"2020-01-23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 \n",
"2020-01-24 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 \n",
"2020-01-25 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 \n",
"2020-01-26 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 \n",
"2020-01-27 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 \n",
"\n",
" 전남 누적 경북 누적 경남 누적 제주 누적 지역 모름 누적 확진자 누적 사망 누적 격리 해제 누적 \\\n",
"2020-01-23 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 \n",
"2020-01-24 0.0 0.0 0.0 0.0 2.0 2.0 0.0 0.0 \n",
"2020-01-25 0.0 0.0 0.0 0.0 2.0 2.0 0.0 0.0 \n",
"2020-01-26 0.0 0.0 0.0 0.0 3.0 3.0 0.0 0.0 \n",
"2020-01-27 0.0 0.0 0.0 0.0 4.0 4.0 0.0 0.0 \n",
"\n",
" 검사수 누적 \n",
"2020-01-23 22.0 \n",
"2020-01-24 47.0 \n",
"2020-01-25 47.0 \n",
"2020-01-26 95.0 \n",
"2020-01-27 152.0 \n",
"\n",
"[5 rows x 44 columns]"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for c in df.columns:\n",
" df[f'{c} 누적'] = df[c].cumsum()\n",
"\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [],
"source": [
"df['누적 양성비율'] = 100 * df['확진자 누적'] / df['검사수 누적']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"차트를 그립니다. 가능한 한장의 차트에 모든 정보를 담을 수 있도록 노력합니다."
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax1 = plt.subplots(figsize=(8, 4))\n",
"\n",
"color = 'tab:red'\n",
"ax1.set_ylabel('누적 양성비율 (%)', color=color) # we already handled the x-label with ax1\n",
"ax1.plot(df['누적 양성비율'], color=color)\n",
"ax1.tick_params(axis='y', labelcolor=color)\n",
"\n",
"ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis\n",
"\n",
"color = 'tab:green'\n",
"ax2.set_xlabel('날짜')\n",
"ax2.set_ylabel('확진자 수 (대구경북/전국)', color='tab:blue')\n",
"ax2.set_ylim(0, 1000)\n",
"plt.bar(x=df.index, height=df['확진자'], color=color, alpha=0.6)\n",
"plt.bar(x=df.index, height=df['대구']+df['경북'], color='tab:blue', alpha=0.6)\n",
"ax2.tick_params(axis='y', labelcolor='tab:blue')\n",
"\n",
"fig.tight_layout() # otherwise the right y-label is slightly clipped\n",
"plt.title('코로나바이러스감염증-19 감염현황 (02-29 16:00 현재)')\n",
"plt.savefig('covid19-stat-0229.png', dpi=200, format='png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"양성비율이 계속 올라가는 것으로 보아, 당분간은 확산 추세로 보입니다. \n",
"\n",
"지역별 검사수 정보가 있으면, 지역별로 양성비율을 알 수 있고, 지역별로 비교할 수 있는데 자료가 없네요. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment