【经济模型】2020年疫情各省份月度数据获取

疫情数据来源

最近在写毕业论文,需要使用2020年疫情各省份数据。通过Python对原始数据进行处理,原始数据包括2019-12-01~2020-12-08期间每天各个地区的实时确诊病例、现有疑似病例、已治愈病例、已死亡病例数目。
数据来源:https://raw.githubusercontent.com/canghailan/Wuhan-2019-nCoV/master/Wuhan-2019-nCoV.csv

导入数据

import pandas as pd
data=pd.read_csv("cov.csv")
data[:5]

提取各省份月度数据

aera=['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省', '吉林省', '黑龙江省', '上海市', 
      '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省',
      '广西壮族自治区', '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省', 
      '青海省', '宁夏回族自治区', '新疆维吾尔自治区', '台湾省','香港特别行政区','澳门特别行政区','Unknown']
month_end=["12-31","01-31","02-29","03-31","04-30","05-31","06-30","07-31","08-31","09-30","10-31","11-30"]

from tqdm import tqdm
import numpy as np
cov_month_confirm=[]  #存储面板数据,所有月份的确诊、疑似、治愈、死亡数目
cov_month_suspected=[]
cov_month_cured=[]
cov_month_dead=[]

month_confirm=[]  # 存储截面数据,每个月的确诊、疑似、治愈、死亡数目
month_suspected=[]
month_cured=[]
month_dead=[]

month=[]
count=0
aera_num=-1
flag=0

for i in tqdm(range(len(data))):
    if data.iloc[i]["country"]!="中国": # 如果不是中国地区的不统计
        continue
    if not pd.isnull(data.iloc[i]["city"]): #去掉省份下的市级别的数据,避免重复统计
        continue
    if data.iloc[i]["date"][-5:] not in month_end:
        if flag==1:
            cov_month_confirm.append(month_confirm)
            cov_month_suspected.append(month_suspected)
            cov_month_cured.append(month_cured)
            cov_month_dead.append(month_dead)
            
        flag=0 
        continue
    else:
        if flag==0:
            month_confirm=[0 for i in range(len(aera))]
            month_suspected=[0 for i in range(len(aera))]
            month_cured=[0 for i in range(len(aera))]
            month_dead=[0 for i in range(len(aera))]
        flag=1
    
    aera_cur=data.iloc[i]["province"]
    aera_num=-1
    if not pd.isnull(aera_cur):	# 若省份信息缺失,则纳入Unknown
        aera_num=aera.index(aera_cur)
        
    month_confirm[aera_num]+=data.iloc[i]["confirmed"]
    month_suspected[aera_num]+=data.iloc[i]["suspected"]
    month_cured[aera_num]+=data.iloc[i]["cured"]
    month_dead[aera_num]+=data.iloc[i]["dead"]
    

confirm_pd=pd.DataFrame(cov_month_confirm) #转化为pandas.DataFrame
suspected_pd=pd.DataFrame(cov_month_suspected)
cured_pd=pd.DataFrame(cov_month_cured)
dead_pd=pd.DataFrame(cov_month_dead)

confirm_pd.columns=aera # 设置列名
suspected_pd.columns=aera
cured_pd.columns=aera
dead_pd.columns=aera

time_index=["20-"+str(i) for i in range(1,12)]
time_index.insert(0,"19-12")

confirm_pd.index=time_index #设置行名为时间(年份+月份)
suspected_pd.index=time_index
cured_pd.index=time_index
dead_pd.index=time_index

confirm_pd.to_csv("data/confirm.csv") # 保存至csv
suspected_pd.to_csv("data/suspected.csv")
cured_pd.to_csv("data/cured.csv")
dead_pd.to_csv("data/dead.csv")

各省份月度数据可视化

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.style.use('ggplot')
confirm_pd["北京市"].plot()
plt.title("北京市确诊累计数目")
plt.show()

【经济模型】2020年疫情各省份月度数据获取_第1张图片

你可能感兴趣的:(【经济模型】2020年疫情各省份月度数据获取)