上一篇讲了COVID-19疫情数据爬取分析
本篇接着讲COVID-19疫情数据探索性分析(EDA)
我们采用pandas库来进行数据分析
import pandas as pd
# 读取数据
today_world = pd.read_csv("today_world_2021_02_18.csv")
today_world.head()
数据预处理
英文列名不便于观察,更改为中文,使用rename()函数重命名
# 创建列名对应的中英文字典
name_dict = {
'date':'日期','name':'名称','id':'编号','lastUpdateTime':'更新时间',
'today_confirm':'当日新增确诊','today_suspect':'当日新增疑似',
'today_heal':'当日新增治愈','today_dead':'当日新增死亡',
'today_severe':'当日新增重症','today_storeConfirm':'当日现存确诊',
'total_confirm':'累计确诊','total_suspect':'累计疑似',
'total_heal':'累计治愈','total_dead':'累计死亡','total_severe':'累计重症',
'total_input':'累计输入','today_input':'今日输入'}
# 重命名
today_world.rename(columns=name_dict,inplace=True)
对数据进行简单查看
today_world.info() # 查看基本信息
today_world.describe() # 查看统计信息
today_world.set_index('名称', drop=False, inplace=True) # 将国家设置为索引
使用isnull()查看数据缺失值,计算缺失值比例,并进行缺失值处理
# 计算缺失值比例
today_world_nan = today_world.isnull().sum()/len(today_world)
# 转化为百分比
today_world_nan.apply(lambda x: format(x, '.1%'))
# 对当日现存确诊缺失值进行处理
today_world['当日现存确诊'] = today_world['累计确诊']-today_world['累计治愈']-today_world['累计死亡']
从缺失比例结果发现,当日新增相关数据缺失值较多,这主要由于采集数据的时候部分国家更新时间不一致,没有更新数据,因此我们将不再对其进行分析。
当日现存确诊人数,是由累计确诊人数-累计死亡人数-累计治愈人数所得
实时数据处理
反映疾病严重程度以及一个地区的医疗水平指标——病死率
计算公式:病死率 = 累计死亡 / 累计确诊
# 计算病死率,且保