YOGYUI

데이터시각화::코로나19 누적확진자 1,000만명 돌파 본문

Data Analysis/Data Engineering

데이터시각화::코로나19 누적확진자 1,000만명 돌파

요겨 2022. 3. 24. 15:52
반응형

https://biz.chosun.com/topics/topics_social/2022/03/23/HWGCTNQ6ORCTXBUVDU3PZ72CDU/

 

코로나19 신규 확진 49만881명…국민 1000만명 감염됐다

코로나19 신규 확진 49만881명국민 1000만명 감염됐다

biz.chosun.com

 

COVID-19 오미크론 변이의 국내 확산세가 좀처럼 누그러들지 않더니, 3월 23일 기준 누적 확진자가 결국 1,000만명을 돌파했다고 한다

 

2022년 3월 23일 오전 9시 18분 기준 통계

  • 누적확진자: 1,0427,121
  • 누적사망자: 13,432

 

일전에 작성한 공공데이터포털::코로나19 감염현황 데이터 조회 (REST API) 글에서 작성한 파이썬 코드를 재활용해서 대한민국 코로나19 확진 및 사망자 수에 대해서 간단하게 시각화해보자

 

공공데이터포털::코로나19 감염현황 데이터 조회 (REST API)

공공데이터포털에서 국내 코로나19 감염현황에 대한 데이터를 얻어보자 (OpenAPI 실습) 데이터 타이틀은 "보건복지부_코로나 19 감염_현황"이고 URL은 아래 링크를 참고 www.data.go.kr/data/15043376/openapi.d

yogyui.tistory.com


일전의 코드는 data_util.py 이름의 파이썬 코드파일에 저장해둔 채로 다음과 같이 코드를 작성해보자

import os
import pandas as pd
import matplotlib.pyplot as plt
from data_util import getAllCovid19Data

df_covid = getAllCovid19Data()

일일 신규확진자(decide_new_daily)에 대해 내림차순으로 정렬한 뒤 상위 10개 레코드를 살펴보자

pd.set_option('max_columns', None)  # dataframe 콘솔 출력 옵션 - 모든 column 출력
print(df_covid.sort_values(by='decide_new_daily', ascending=False).head(10))
    accdefrate  accexamcnt                createdt  deathcnt  decidecnt  seq  \
6          NaN         NaN 2022-03-17 09:28:28.783     11481    8250270  820   
0          NaN         NaN 2022-03-23 09:18:19.212     13432   10427238  826   
5          NaN         NaN 2022-03-18 09:06:55.679     11782    8657165  821   
7          NaN         NaN 2022-03-16 09:07:33.011     11052    7629066  819   
11         NaN         NaN 2022-03-12 08:53:24.338     10144    6206229  815   
4          NaN         NaN 2022-03-19 09:20:10.848     12101    9038586  822   
8          NaN         NaN 2022-03-15 09:08:41.063     10888    7228473  818   
1          NaN         NaN 2022-03-22 08:56:35.519     13141    9936357  825   
10         NaN         NaN 2022-03-13 09:13:37.486     10395    6556411  816   
14         NaN         NaN 2022-03-09 08:57:50.503      9440    5212101  812   

      statedt statetime  updatedt  decide_new_daily  
6  2022-03-17     00:00       NaN            621204  
0  2022-03-23     00:00       NaN            490881  
5  2022-03-18     00:00       NaN            406895  
7  2022-03-16     00:00       NaN            400593  
11 2022-03-12     00:00       NaN            383617  
4  2022-03-19     00:00       NaN            381421  
8  2022-03-15     00:00       NaN            362283  
1  2022-03-22     00:00       NaN            353964  
10 2022-03-13     00:00       NaN            350182  
14 2022-03-09     00:00       NaN            342429

누적 확진자 1,000만명을 돌파한 3월 23일은 역대 2번째로 일일 신규확진자가 많이 발생(49만명)한 날이었다 (역대 Top은 3월 17일 62만명...)

 

matplotlib로 간단하게 일일 신규확진자 수, 누적확진자 수, 누적사망자 수를 시각화해보자

fig = plt.figure(figsize=(10, 12))
ax1 = plt.subplot(311)
ax1.plot(dates, daily, c='blue')
ax1.set_yscale('log')
ax1.grid(ls='--')
ax1.set_title('Confirmed - Daily New', fontsize=16)
ax1.set_xticklabels([])
ax1.tick_params(axis='y', labelsize=12)

ax2 = plt.subplot(312)
ax2.plot(dates, cum, c='orange')
ax2.set_yscale('log')
ax2.grid(ls='--')
ax2.set_title('Confirmed - Cumulative Sum', fontsize=16)
ax2.set_xticklabels([])
ax2.tick_params(axis='x', labelsize=12)
ax2.tick_params(axis='y', labelsize=12)

ax3 = plt.subplot(313)
ax3.plot(dates, death, c='red')
ax3.set_yscale('log')
ax3.grid(ls='--')
ax3.set_title('Death - Cumulative Sum', fontsize=16)
ax3.tick_params(axis='x', labelsize=12)
ax3.tick_params(axis='y', labelsize=12)

fig.tight_layout()

(세로축을 로그스케일로 표현)

 

2020년 2월 29일 신규확진자 909명 발생 시점만 해도 피크를 찍은 뒤 강력한 방역체제를 구축해서 진정될 것이라고 예측되었으나, 방역에 구멍이 생기고 각종 변이들까지 유입되면서 2021년 7월 6일 이후로는 신규확진자가 단 한차례도 1,000명 이하로 떨어진 적이 없다

 

그러다가 2022년 1월 25일 이후로는 완전히 퀀텀 점프해버려서, 꾸준히 만명 이상 신규확진이 발생하고 있고 2022년 2월 17일 이후 이틀을 제외하고는 10만명 이상 확진자 발생 중 (불과 1달 사이에 단위가 바뀌어버렸다)

 

오미크론 변이는 전파력만 셀 뿐 증상은 가벼운 감기와 유사하다고 하는 경우가 많아서 국민 대다수가 방역에 무관심하게 되어버렸는데, 누적사망자도 3월 12일을 기준으로 만명이 넘어섰고 3월 3일 이후 꾸준히 매일 100명 이상의 사망자가 발생하는 중이다 (증상 자체도 case-by-case라 정말 심하게 겪는 사람도 쉽게 찾아볼 수 있다)

# 일일 신규사망자 수 칼럼 추가
import numpy as np

death = df_covid['deathcnt'].values
df_covid.loc[:, 'death_new_daily'] = np.append(death[:-1] - death[1:], 0)

fig = plt.figure(figsize=(10, 4))
plt.plot(df_covid['createdt'], df_covid['death_new_daily'])
plt.title('Death - Daily New')

※ 특히 큰 문제는 영유아 감염에 따른 사망

영유아 사망원인 통계는 2020년 자료가 최신이라 코로나19 영향을 아직까지는 알아볼 수 없지만, 아마 코로나19 감염 후 폐렴 발생으로 인한 사망자 수도 상당할 것으로 예상된다

 

글을 쓰고 있는 3월 24일 오늘은 하루 사망자가 470명으로 역대 최대를 기록했다고 한다...

https://www.joongang.co.kr/article/25057904#home

 

[코로나19] 신규 확진 39만5598명…하루 사망자 470명으로 최다

24일 신종 코로나바이러스 감염증(코로나19) 신규 확진자가 39만명대로 집계됐다. 중앙방역대책본부는 이날 0시 기준 신규 확진자가 39만5598명 늘어 누적 확진자는 1082만2836명으로 집계됐다고 밝

www.joongang.co.kr

 

국민 5명 중 1명이 확진(물론 상기 자료에서는 '확진-완치 후 재감염'에 대한 수치가 나와있지 않기 때문에 정확한 수치는 아니겠지만..)되었고 감염세가 누그러질 기미가 전혀 보이질 않고 있다

- 추세선을 그려보면 2천만명도 금방이다..

 

정말 문자 그대로 '위드 코로나' 세상이다

 

 

반응형
Comments