全球疫情及疫苗接种进度可视化之四--各国疫苗接种进度

  • 安装plotly库
  • 各国疫苗接种进度
    • 读取数据
    • 排除全球及大洲数据
    • 发现某些国家数据不全,需按日期进行补全
    • 取每百人接种量最高的10个国家
  • 可视化绘制气泡图

全国疫情及疫苗接种进度可视化

  • 全球疫情及疫苗接种进度可视化之一–全球疫情形势动态地图展示
  • 全球疫情及疫苗接种进度可视化之二–新冠疫情形势气泡图
  • 全球疫情及疫苗接种进度可视化三–疫苗研发情况
  • 全球疫情及疫苗接种进度可视化之四–各国疫苗接种进度

如果想了解更多有趣的项目和小玩意,都可以来我这里哦通道

2020年底以来,欧美、印度、中国、俄罗斯等多国得制药公司纷纷推出了针对新冠肺炎的疫苗,这部分要分析了2020年以来全球疫情形势、各类疫苗在全球的地理分布、疫苗在各国的接种进度进行可视化展示,以期给读者提供当前疫情以及未来疫情防控的直观展示。

安装plotly库

因为这部分内容主要是用plotly库进行数据动态展示,所以要先安装plotly库

pip install plotly

除此之外,我们对数据的处理还用了numpypandas库,如果你没有安装的话,可以用以下命令一行安装

pip install plotly numpy pandas
#导入所需库
import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go

各国疫苗接种进度

读取数据

#读取数据
vaccinations=pd.read_csv(r'./data/vaccinations.csv')

排除全球及大洲数据

我们需要把一些全球和大洲的数据去掉,因为我们是对国家进行分析,要不然会有重复

#排除全球及大洲数据
vaccinations.index=vaccinations.location
vaccinations=vaccinations.drop(['World','Asia','North America', 'Europe','Africa', 'European Union', 'South America'])
vaccinations.reset_index(drop=True,inplace=True)
vaccinations


我们可以看看现在我们的数据分布是这样的

发现某些国家数据不全,需按日期进行补全

#发现某些国家数据不全,需按日期进行补全
for i in vaccinations.location.unique():#遍历国家for j in vaccinations.date.unique():#遍历日期if vaccinations.loc[(vaccinations.location==i)&(vaccinations.date==j)].empty:#如果该日期没有数据,新增一行空数据temp=pd.DataFrame({'location':i,'date':j},index=['new'])vaccinations=pd.concat([vaccinations,temp])
vaccinations['date_']=pd.to_datetime(vaccinations.date)#创建时间序列
vaccinations=vaccinations.sort_values(by='date_')#按时间排序
vaccinations


temp1=pd.DataFrame()
for i in vaccinations.location.unique():#按国家补全数据r=vaccinations.loc[vaccinations.location==i]r=r.fillna(method='ffill',axis=0)#先按最近一次数据进行补全temp1=pd.concat([temp1,r])
temp1=temp1.fillna(0)#若仍有空值,认为是0
temp1

取每百人接种量最高的10个国家

#为了减少可视化的数据量,保留总接种量及每百人接种量最高的10个国家
country1=list(temp1.reset_index(drop=True).groupby('location').total_vaccinations.max().sort_values(ascending=False).head(10).index)
country2=list(temp1.reset_index(drop=True).groupby('location').total_vaccinations_per_hundred.max().sort_values(ascending=False).head(10).index)
country1.extend(country2)
country_list=set(country1)
drop_list=list(set(temp1.location.unique())-country_list)

可视化绘制气泡图

绘制气泡图,横轴为总接种数,纵轴为接种比例,气泡大小为单日接种数

#绘制气泡图
fig=px.scatter(temp1,x='total_vaccinations',y='total_vaccinations_per_hundred',size='daily_vaccinations',size_max=50,color='location', animation_frame='date',hover_name='location')
fig.update_layout(xaxis={'range':[-1000000,temp1.total_vaccinations.max()*1.2]},yaxis={'range':[-10,temp1.total_vaccinations_per_hundred.max()*1.2]})
fig.show()

通过上图可以发现:

  • 各国的疫苗接种主要开始于20年12月底
  • 以色列、阿联酋等国开始接种后,虽然单日接种量不大,但相对其较少的总人口,很快就在接种进度上取得了领先,截止2021年2月16日,分别达到78%、52%
  • 从单日接种人数上,中、美两国相对最大,但由于两国热口基数较大,接种进度均比较落后。而中国由于前期(主要是12月底)接种数量少、人口基数大的原因,导致无论是总接种量,还是接种进度,都落后于美国
  • 以英国为代表的欧洲各国,虽然人口基数也不小,但归功于其对于疫苗的大力推动,其接种进度正在稳步推进中

各国疫苗接种进度(气泡图可视化)相关推荐

  1. 【2020东京奥运会】奥运榜单以及各国参赛运动员数据可视化~

    项目 本文中的代码是基于notebook写的,可以访问https://www.heywhale.com/mw/project/61015e73aca24600179ec778获取完整notebook. ...

  2. 全球疫情形势动态地图展示(超帅超好玩的python动图)

    全球疫情及疫苗接种进度可视化之一--全球疫情形势动态地图展示 安装plotly库 全球疫情形势 定义工具函数 抽取数据 绘制动态图表 重抽样 数据抽取.整理与可视化展示 抽取原始数据 按周重抽样 确诊 ...

  3. Python + Excel | 可视化疫苗接种随时间变化情况

    一.简介 题目来源于帮助学妹做的大作业(貌似文科好一些也学Python?) 有关信息取自自国家卫生健康委员会官方网站公开的数据,真实可靠.数据仅用于学习之用! 二.采集数据 思路:selenium模拟 ...

  4. celery 可视化_在Flask中使用Celery进行多任务分布执行

    关键字:Flask, Redis, RabbitMQ, Celery, Broker, Backend 前言 在后端服务器有时候需要处理耗时较长的任务,例如发送电子邮件,在处理这些任务时,这个线程就处 ...

  5. python输出进度条 tqdm_python-tqdm进度条

    Tqdm 进度条可视化模块 2018-12-04 14:34:25 使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速, ...

  6. 10W人都想知道的答案!可视化黑科技,这4个数据工具谁最厉害的?

    在搜索商业智能(BI)工具时,可能每个BI供应商都将其产品称为唯一的"最佳"解决方案进行宣传,晕乎转向.笔者身边有很多在数据中心工作的朋友,也有各种IT信息部的大佬,也见惯了各家上 ...

  7. 可视化|东京奥运会可视化(二)

    文章目录 3.2 运动员可视化 3.2.1 数量可视化 1. 按国家奥委会聚合矩形树图 2. 按赛事类型聚合矩形树图 3.2.2 地理可视化 1. 各国运动员分布地图 3.2.3 比例可视化 1. 各 ...

  8. 可视化项目管理只需一个甘特图

    什么是数据可视化?数据可视化是一个以图像或者图形来展示数据的方法,它有助于人们可视化处理那些困难的概念,以及确认那些仍未被发掘的模式. 可视化能将数据以更加直观的方式展现出来项目的情况,使数据更加客观 ...

  9. vue获取上传进度_文件上传与读取实时进度展示-demo(Vue)

    监听进程的方法onprogress 1 )文件读取的progress事件属于FileReader对象. 2 )下载的progress事件属于XMLHttpRequest对象. 3 )上传的progre ...

最新文章

  1. ubuntu install node npm bower
  2. TensorFlow2简单入门 - 池化层
  3. 你要知道的开源地理空间软件10件事
  4. PWN-PRACTICE-CTFSHOW-1
  5. oracle显示linesize,SQL Plus输出结果的格式化(linesize、pagesize)
  6. 活动选择问题 贪心
  7. 微信小程序实现浮动按钮
  8. 关于 Openresty 的两三事
  9. 开放API 与 查询语言GraphQL
  10. 盒型详解及不同浏览器兼容
  11. SpringCloud整合Hmily实现TCC分布式事务案例详解
  12. 小甲鱼python自学笔记
  13. 信息安全工程师第二版考试大纲案例分析篇(建群网培)
  14. Mac VM 虚拟机固定IP
  15. 渗透性测试是一种特殊的信息安全服务
  16. 面向对象编程训练:模拟购物车模块(:3[▓▓]快醒醒开学了
  17. 项目管理--项目组织
  18. IE浏览器故障及其解决方法
  19. ufs2.2 协议扫盲(三)
  20. 获取wifi和基站定位的基础信息

热门文章

  1. 微信公众号基于 baidu API接口的图像识别
  2. APP绕过模拟器-小白版
  3. 如何使用蒙特卡洛(Mento Carlo)方法计算PI(Π)值?(C语言实现)
  4. Java版本JFrame,计算器和单位换算的实现
  5. 98sez资源_Sez You建筑与忍者建筑
  6. Word处理控件Aspose.Words功能演示:在C#中的Word文档中添加或删除水印
  7. POI-----POI操作Excel-7、打印区域
  8. 关于lvm扩容的方式
  9. 效率脚本:删除已经合并的git分支
  10. 计算机数值方法知识,计算机数值方法.pdf