美国新冠3-11月确诊人数和死亡人数统计分析
背景:新冠在美国的传播分析
数据来源:Johns Hopkins
代码实现:
import pandas as pd
import matplotlib.pyplot as pltfrom sklearn import metrics
import warnings
warnings.filterwarnings("ignore")
fig=plt.figure()
plt.rcParams["font.sans-serif"] = "SimHei"
plt.rcParams['axes.unicode_minus'] = False
#us.csv-美国每日确诊总病例及死亡病例,包括各州,美国领地和哥伦比亚特区。
us_data=pd.read_csv('F:/us.csv')
us_data.info()
us_data.describe()
#由于数据并未缺失故暂时不考虑缺失
#尝试画出美国确诊病例关于时间的折线图
plt.plot(us_data['date'].astype(str),us_data['cases'])
plt.show()
plt.plot(us_data['date'].astype(str),us_data['deaths'])
plt.xticks(rotation=45)
plt.show()
#由于x轴数据过多不好分析,故转换为月份进行分析
us_data['date']=pd.to_datetime(us_data['date'])
us_data['month']=us_data['date'].dt.month
month_cases=us_data.groupby(by='month')['cases'].sum()
month_deaths=us_data.groupby(by='month')['deaths'].sum()
#可视化分析
plt.plot(month_cases.index,month_cases)
plt.title('美国2020年各月确诊人数')
plt.show()
plt.plot(month_deaths.index,month_deaths)
plt.title('美国2020年各月死亡人数')
plt.show()
#2020年开始,美国冠状病毒初期感染及死亡较少,在3月开始迅速上升,并在11月达到顶峰,但12月数据不够完整,不能判断疫情是否得到一定的控制
#us-states.csv-美国按州分类,每日确诊总病例及死亡病例
us_states=pd.read_csv('F:/us-states.csv')
us_states.info()
us_states.describe()
#不存在数据缺失
#由于数据过多,故按月分类
us_states['date']=pd.to_datetime(us_states['date'])
us_states['month']=us_states['date'].dt.month
group_month=us_states.groupby(by='month')
#各月份各州确诊人数前5
k=1
for key in group_month.groups:month_data=group_month.get_group(key)state_cases=month_data.groupby(by='state')['cases'].sum()state_cases.sort_values(inplace=True,ascending=False)#print(state_cases.head(5))fig.add_subplot(3,4,k)plt.bar(state_cases.head(5).index.tolist(),state_cases.head(5))plt.xticks(rotation=45)k+=1
plt.show()
#各月份各州死亡人数前5
#k=1
for key in group_month.groups:month_data=group_month.get_group(key)state_deaths=month_data.groupby(by='state')['deaths'].sum()state_deaths.sort_values(inplace=True,ascending=False)print(state_deaths.head(5))#fig.add_subplot(3,4,k)#plt.bar(state_deaths.head(5).index.tolist(),state_deaths.head(5))#plt.xticks(rotation=45)#k+=1
#plt.show()
#各州按月份的确诊人数与死亡人数的透视表
pd.pivot_table(data=us_states,index=['state','month'],aggfunc={'cases':'sum','deaths':'sum'})
#从各州的确诊人数和死亡人数来看:前两月California州确诊人数较多,可能存在传染源,3月开始全美国开始大爆发,New York稳居榜首,
#但8,9,10,12California再次一直领先,由于12月数据不全,分析California州多数时间处于首位,可能是源头,也可能是管理较差,预防措施不到位
#但是从死亡人数看,New York一直处于榜首,从未被超越,人口集中地
#us-counties.csv-美国按城市分类,每日确诊总病例及死亡病例
us_counties=pd.read_csv('F:/us-counties.csv')
us_counties.info()
us_counties.describe()
#deaths存在缺失值,为了避免影响,删除该行数据
us_counties.dropna(axis=0,how='any',subset=['deaths'],inplace=True)
us_counties.info()
#删除后,数据剩799540
#对数据添加月份信息
us_counties['date']=pd.to_datetime(us_counties['date'])
us_counties['month']=us_counties['date'].dt.month
#各州各城市按月份的确诊人数与死亡人数的透视表
pd.pivot_table(data=us_counties,index=['state','county','month'],aggfunc={'cases':'sum','deaths':'sum'})
#由于数据太多,故只筛选出几个城市简单分析一下
#先查看城市的所有确诊人数和死亡人数的大致数量
us_counties.groupby(by='county')[['cases','deaths']].sum().sort_values(by='cases')
#观看上图,就只分析New York City 、Palm Beach 、 Borden三个城市
Borden_data=us_counties.loc[us_counties['county']=='Borden',:]
Palm_Beach_data=us_counties.loc[us_counties['county']=='Palm Beach',:]
New_York_data=us_counties.loc[us_counties['county']=='New York City',:]
#Borden按天和月的确诊数和死亡数的散点图
fig=plt.figure()
fig.add_subplot(2,2,1)
plt.scatter(Borden_data['date'].astype(str),Borden_data['cases'])
fig.add_subplot(2,2,2)
plt.scatter(Borden_data['date'].astype(str),Borden_data['deaths'])
fig.add_subplot(2,2,3)
month_data=Borden_data.groupby(by='month')[['cases']].sum()
plt.scatter(month_data.index.tolist(),month_data)
fig.add_subplot(2,2,4)
month_data=Borden_data.groupby(by='month')[['deaths']].sum()
plt.scatter(month_data.index.tolist(),month_data)
plt.show()
#疫情对Borden几乎没有影响
#Palm Beach按天和月的确诊数和死亡数的散点图
fig=plt.figure()
fig.add_subplot(2,2,1)
plt.scatter(Palm_Beach_data['date'].astype(str),Palm_Beach_data['cases'])
fig.add_subplot(2,2,2)
plt.scatter(Palm_Beach_data['date'].astype(str),Palm_Beach_data['deaths'])
fig.add_subplot(2,2,3)
month_data=Palm_Beach_data.groupby(by='month')[['cases']].sum()
plt.scatter(month_data.index.tolist(),month_data)
fig.add_subplot(2,2,4)
month_data=Palm_Beach_data.groupby(by='month')[['deaths']].sum()
plt.scatter(month_data.index.tolist(),month_data)
plt.show()
#Palm Beach七月和11月是高峰期
#New York City按天和月的确诊数和死亡数的散点图
fig=plt.figure()
fig.add_subplot(2,2,1)
plt.scatter(New_York_data['date'].astype(str),New_York_data['cases'])
fig.add_subplot(2,2,2)
plt.scatter(New_York_data['date'].astype(str),New_York_data['deaths'])
fig.add_subplot(2,2,3)
month_data=New_York_data.groupby(by='month')[['cases']].sum()
plt.scatter(month_data.index.tolist(),month_data)
fig.add_subplot(2,2,4)
month_data=New_York_data.groupby(by='month')[['deaths']].sum()
plt.scatter(month_data.index.tolist(),month_data)
plt.show()
#纽约从3月起确诊人数一直在增长(12月数据不全暂不考虑)
美国新冠3-11月确诊人数和死亡人数统计分析相关推荐
- 27岁华裔小伙一战成名!搞出美国新冠最准预测模型
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI ...
- 27岁华裔小伙一战成名!搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 金磊 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 年仅27岁的他,被 ...
- 27岁华裔小伙搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
金磊 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 年仅27岁的他,被彭博评价为"新冠病毒数据超级明星". 为什么? 凭一己之力,仅用一周时间打造的新冠预测模型,准 ...
- 一人干翻专业机构,27岁华裔小伙一战成名!搞出美国新冠最准预测模型,彭博:Superstar
点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...
- 【大数据平台】基于Spark的美国新冠肺炎疫情数据分析及预测
(本实验系中国地质大学(武汉)2022年秋期大数据平台及应用课程设计) 一.选题背景 新型冠状病毒疫情是由严重急性呼吸系统综合征冠状病毒2(SARS-CoV-2)导致的2019冠状病毒病(COVID- ...
- 【Python】2020年美国新冠肺炎疫情数据分析
2020年美国新冠肺炎疫情数据分析 一. 需求描述 二. 环境介绍 三. 数据来源描述 四. 数据上传及上传结果查看 五.数据处理过程描述 1.数据集下载 2.格式转换 3.启动Hadoop集群 4. ...
- 【大数据基础】2020年美国新冠肺炎疫情数据分析
https://dblab.xmu.edu.cn/blog/2738 https://dblab.xmu.edu.cn/blog/2636/ spark 安装 安装 Spark2.4.0 sudo t ...
- 大数据分析实训——使用Spark SQL分析美国新冠肺炎疫情
项目思路: 使用Spark SQL读取文件数据集来生成Data Frame对象,再利用Spark SQL函数对Data Frame对象进行数据分析,并将结果存入MySQL数据库,再以Web网页的形式对 ...
- 基于SAS对美国新冠数据的分析
数据来源于kagglehttps://www.kaggle.com/datasets/antgoldbloom/covid19-data-from-john-hopkins-university ht ...
最新文章
- ZOJ-2366 Weird Dissimilarity 动态规划+贪心
- 洛谷 - P2944 [USACO09MAR]Earthquake Damage 2 G(最小割)
- 如何使用R语言在SAP Analytics Cloud里绘制各种统计图表
- java 获取td_[Java教程]jQuery获取table表中的td标签
- 利用Auto Deploy 部署ESXi 5
- linux(Centos系统)部署项目(vue+nginx+tomcat)
- 中国鲷鱼养殖产量和捕捞产分析,养殖产业区域集中度高「图」
- 计算机网络基础知识框架
- 网络流模型与技巧总结
- LigerUI的简单使用示例
- 沉浸式体验在文化展馆设计中应用
- NBA2K18手游显示无法连接服务器,nba2k18手游交易被拒绝 | 手游网游页游攻略大全...
- Observability:Wavefront
- 祝CSDN2021牛气冲天祝我也拨云散雾
- 如何将文字转图片?手把手教你转换
- 如何做电视节目的视频直播(电视台节目直播)
- 中国首台千万亿次超级计算机叫什么,中国首台千万亿次超级计算机系统研制成功...
- 005-part3-创世区块链
- 一个垃圾的网上论坛(Oracle+JavaWeb相关技术实现)
- 教资高中计算机学科知识考试题型,2020下半年教师资格证考试《高中信息技术学科知识与教学能力》试题...