2020年“泰迪杯”数据分析职业技能大赛B题疫情数据分析

本文针对2020年新冠疫情数据进行了深入分析,包括统计各城市的累计确诊、治愈和死亡人数,绘制疫情传播风险图,并设计可视化数字大屏展示疫情的时空变化情况。

一、背景
2020年1月新型冠状病毒(以下简称新冠)肺炎在极短时间内就在全球范围内大规模流行,据美国约翰斯·霍普金斯大学11月8日发布的新冠疫情最新统计数据显示,截至美国东部时间11月8日11时24分全球累计确诊人数超过5000万,死亡人数超过125万。由于新冠病毒的传播速度快、致死率较高,世界卫生组织称新冠是百年一遇的人类公敌。自新冠肺炎爆发以来,面对社会对疫情信息的迫切需求,各级政府部门通过多种渠道及时发布第一手相关数据,许多组织和个人也迅速行动,利用多种分析手段为公众提供疫情数据的解读分析,以消除公众的恐慌情绪,提高人们的自我防护意识,配合政府的防疫措施,为我国最终打赢疫情防控阻击战发挥了巨大的推动作用。
本赛题提供收集自网络并经过适当处理的有关新冠疫情的数据,仅供本次竞赛使用,并不确保数据的真实性和准确性。

二、目标
对疫情数据进行简单的统计。
设计可视化数字大屏展示新冠疫情的时空变化情况。
使用可视化工具绘制城市疫情风险图。
对国内的疫情变化情况进行分析。

三、任务

为统一分析标准,假设国内的新冠确诊病人都入院收治,被传染者有5天的潜伏期,被传染3天后具备传染性。例如:2月1日被传染,2月6日开始出现症状,并被确诊,2月4日开始具备传染性。
请根据附件1中提供的数据,自行选择分析工具完成以下任务,并撰写报告。

  • 任务1数据的基本处理:

  •  任务1.1

根据附件1“城市疫情”中的数据统计各城市自首次通报确诊病例后至6月30日的每日累计确诊人数、累计治愈人数和累计死亡人数,将结果保存为“task1_1.csv”,第一行为字段名,按城市、日期、累计确诊人数、累计治愈人数、累计死亡人数的次序分别放在A列~E列。在论文中给出实现方法的相关描述,并列表给出武汉、深圳、保定每月10、25日的统计结果。

我们发现城市疫情数据表中并不是每一天都有对应的数据,有些天数的数据是缺失的。通过观察数据表,我们判断得到结论:缺失的数据行是因为该区域当天无新增的确诊、死亡或是治愈病例。因此要对缺失数据进行补充

import pandas as pd
import numpy as np
from datetime import  datetime

#xlrd 1.2以上的版本不能读取xlsx格式的文件,只能读取xls,设置engine='openpyxl'即可打开
data=pd.ExcelFile('D:/Python数据分析与挖掘实战/赛题B-新冠疫情数据分析/附件1.xlsx',engine='openpyxl')
#提取‘城市疫情’表
city_pan=data.parse('城市疫情')
#查看前5行数据
print(city_pan.head())

out:
          日期  城市  新增确诊  新增治愈  新增死亡
0 2020-01-10  武汉    41     2     1
1 2020-01-11  武汉     0     4     0
2 2020-01-12  武汉     0     1     0
3 2020-01-15  武汉     0     5     1
4 2020-01-16  武汉     4     3     0




#查看数据信息,及每列的数据格式
 print(city_pan.info())

out:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10245 entries, 0 to 10244
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   日期      10245 non-null  datetime64[ns]
 1   城市      10245 non-null  object        
 2   新增确诊    10245 non-null  int64         
 3   新增治愈    10245 non-null  int64         
 4   新增死亡    10245 non-null  int64         
dtypes: datetime64[ns](1), int64(3), object(1)
memory usage: 400.3+ KB



end_date=datetime(2020,6,30)
#根据城市分组,找到每个城市首次出现病例的开始日期
start_date=city_pan.groupby('城市')['日期'].min()
start_date=start_date.reset_index(drop=False)
print(start_date)

out:

        城市         日期
0      七台河 2020-01-26
1       万宁 2020-01-22
2      万州区 2020-01-21
3    万盛经开区 2020-02-06
4       三亚 2020-01-22
..     ...        ...
439    黔南州 2020-01-22
440    黔江区 2020-01-27
441   黔西南州 2020-01-25
442   齐齐哈尔 2020-01-25
443     龙岩 2020-01-28
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值