-
코로나 검사자 확진자 통계 분석, 월별 확진자, 월별 검사자, 일별 확진자, 일별 검사자 분석카테고리 없음 2021. 1. 4. 10:42반응형
data6 = pdata[['기준일','일일 확진자 수','일일 검사 수','누적 확진률','누적 검사 수','사망자 수']] data6['기준일'] = pd.to_datetime(data6['기준일']) data6 = data6.groupby(data6['기준일'].dt.strftime("%D")).sum() data6 = data6.reset_index() data6['기준일'] = pd.to_datetime(data6['기준일']) data6.sort_values(by = '기준일', inplace=True, ascending = True) data6 = data6.reset_index(drop = True) print(data6)
새해가 밝았습니다 ~~!!
모두 새해복 받고 코로나 이겨내시길 !!
12월 31일에는 코로나 일별, 월별 확진자 그래프를
그려봤는데요 ~~~
댓글로 검사자 수, 확진자 수 그래프 비교가 있으면
좋을것 같다고 하셔서 포스트를 작성하게 되었습니다
대부분의 소스코드는 전 포스트와 동일합니다 ~!!
from urllib.request import urlopen from urllib.parse import urlencode, unquote, quote_plus import urllib import requests import json import pandas as pd from datetime import datetime,timedelta yester = datetime.today() - timedelta(300) yseter = yester.strftime("%Y%m%d") now_today = datetime.today() - timedelta(0) now_today = now_today.strftime("%Y%m%d") print(yseter) print(now_today) my_api_key = '__자신이 발급받은 공공데이터 API key입력____' url = 'http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19InfStateJson' queryParams = '?' + \ 'ServiceKey=' + '{}'.format(my_api_key) + \ '&pageNo='+ '1' + \ '&numOfRows='+ '999' + \ '&startCreateDt={}&endCreateDt={}'.format(yseter,now_today) import xmltodict result = requests.get(url + queryParams) print(result) result = result.content jsonString = json.dumps(xmltodict.parse(result), indent = 4) jsonString = jsonString.replace('resultCode', '결과코드').replace('resultMsg', '결과메세지').replace('numOfRows', '한 페이지 결과 수').replace('pageNo', '페이지 수').replace('totalCount', '전체 결과 수').replace('seq', '게시글번호(감염현황 고유값)').replace('stateDt', '기준일').replace('stateTime', '기준시간').replace('decideCnt', '누적 확진자 수').replace('clearCnt', '격리해제 수').replace('examCnt', '검사진행 수').replace('deathCnt', '사망자 수').replace('careCnt', '치료중 환자 수').replace('resutlNegCnt', '결과 음성 수').replace('accExamCnt', '누적 검사 수').replace('accExamCompCnt', '누적 검사 완료 수').replace('accDefRate', '누적 확진률').replace('createDt', '등록일시분초').replace('updateDt', '수정일시분초') js = json.loads(jsonString) print(js) js_check_count = js["response"]['body']['items']['item'][0]['검사진행 수'] js = js["response"]['body']['items']['item'] pdata = pd.DataFrame(js) pdata.sort_values(by = '기준일', inplace=True, ascending = True) pdata = pdata.reset_index(drop = True) daily_crn_cnt = [] daily_check_cnt = [] for row in range(0,len(pdata['치료중 환자 수'])-1): daily_crn_cnt.append(int(pdata.loc[row+1][7])- int(pdata.loc[row][7])) print(int(pdata.loc[row+1][7]) ,'-', int(pdata.loc[row][7]) ,'=', int(pdata.loc[row+1][7])- int(pdata.loc[row][7] )) daily_check_cnt.append(int(pdata.loc[row+1][1])- int(pdata.loc[row][1]) ) pdata = pdata.drop(1) pdata['일일 확진자 수'] = daily_crn_cnt pdata['일일 검사 수'] = daily_check_cnt
pdata 를 출력하면 이렇게 됩니다 !
일자별로 데이터가 대부분 하나 있지만
데이터의 변화로 인해서 두번씩 쌓인 경우가 있기 때문에
기준일로 다시 집계를 했습니다.(pandas 의 groupby 힘수 사용.)
출력 결과는 이렇습니다.
전체 결과 가 필요하신 분은 댓글로 메일 남겨주세요 ㅎㅎ
이제 출력해보겠습니다.
확진자 수와 검사자 수의 단위는 차이가 크기때문에
한 그래프에서 표출하면 확진자수에 대한 변화를 보기가 어렵습니다.
그래서 각각 출력해보겠습니다.
import matplotlib.pyplot as plt import numpy as np plt.style.use('seaborn-whitegrid') plt.figure(figsize=(29,9)) data6['일일 확진자 수'] = pd.to_numeric(data6['일일 확진자 수']) data6['일일 검사 수'] = pd.to_numeric(data6['일일 검사 수']) # data6['사망자 수'] = pd.to_numeric(data6['사망자 수']) # data6['기준일'] = pd.to_datetime(data6['기준일']) # plt.plot(data6['기준일'],data6['일일 확진자 수']) plt.plot(data6['기준일'],data6['일일 검사 수'])
아래는 일일 검사 수에 대한 그래프 입니다.
아래는 확진자 수에 대한 그래프 입니다.
어느정도 비슷한 추세가 확인됩니다.
검사량은 요일에 따라 차이가 있습니다.
아래는 최근 10일치 데이터를 출력한 결과입니다.
염려되는 연말 연휴로 인해 검사자 수가 줄었고
일일 확진자 수가 줄어드는 추세를 01-02, 01-03 일에 보였으나
1월 3일에 검사한 수가 비슷함에도 불구하고
확진자수가 다시 1000명을 넘었다는 것입니다....
기준일
일일 확진자 수
일일 검사 수
290
2020-12-26
1132
30058
291
2020-12-27
970
36997
292
2020-12-28
807
31895
293
2020-12-29
1044
59872
294
2020-12-30
1050
61343
295
2020-12-31
967
54358
296
2021-01-01
1028
55437
297
2021-01-02
820
33477
298
2021-01-03
657
38045
299
2021-01-04
1020
35770
연말에 접촉이 많았을까요...
297
2021-01-02
820
33477
298
2021-01-03
657
38045
299
2021-01-04
1020
35770
그렇기 때문에 검사자 수가 다시 늘어나는 월요일, 화요일 >>> 발표는 화요일, 수요일
수요일의 경우 1000명을 가볍게 뛰어넘는 확진자 가 발생될 수 있다는 예측이 되는 부분입니다 ㅠㅜㅠ
1/17일까지 2.5단계가 연장되어
많은 자영업자 분들이 고통을 겪고 있습니다..
사태가 속히 진정되길 기도합니다...
반응형