文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python实战之疫苗研发情况可视化的示例分析

2023-06-15 03:10

关注

这篇文章将为大家详细讲解有关Python实战之疫苗研发情况可视化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、安装plotly库

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

pip install plotly

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

pip install plotly numpy pandas
#导入所需库import pandas as pdimport numpy as npimport plotly.express as pximport plotly.graph_objects as go

二、疫苗研发情况

各国采用的疫苗品牌概览

通过对各国卫生部门确认备案的疫苗品牌,展示各厂商的疫苗在全球的分布

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

Python实战之疫苗研发情况可视化的示例分析

这里我们的loacation中可以看到各个地方的疫苗和数据的来源与数据来源的网页

三、数据处理

#发现数据中vaccines列中包含了多个品牌的情况,将这类数拆为多条vaccines_by_country=pd.DataFrame()for i in locations.iterrows():    df=pd.DataFrame({'Country':i[1].location,'vaccines':i[1].vaccines.split(',')})    vaccines_by_country=pd.concat([vaccines_by_country,df])vaccines_by_country['vaccines']=vaccines_by_country.vaccines.str.strip()# 去掉空格
vaccines_by_country.vaccines.unique() # 查看疫苗的种类

Python实战之疫苗研发情况可视化的示例分析

四、可视化疫苗的分布情况

#绘图fig=px.choropleth(vaccines_by_country,                locations='Country',                locationmode='country names',                color='vaccines',                facet_col='vaccines',                facet_col_wrap=3)fig.update_layout(width=1200, height=1000)fig.show()

Python实战之疫苗研发情况可视化的示例分析

各品牌分布:

综上可以发现,全球采用最广的仍是Pfizer/BioNTech,国产疫苗中Sinovac(北京科兴疫苗)输出到了较多国家

五、各品牌疫苗上市情况(仅部分国家)

根据数据集中提供的部分国家20年12月以来各品牌疫苗接种情况,分析各品牌上市时间及市场占有情况

#读取数据vacc_by_manu=pd.read_csv(r'data/vaccinations-by-manufacturer.csv')
#定义函数,用于从原始数据中组织宽表def query(df,country,date,vaccine):    try:        result=df.loc[(df.location==country)&(df.date==date)&(df.vaccine==vaccine)].total_vaccinations.iloc[0]    except:        result=np.nan    return result
vacc_by_manu

Python实战之疫苗研发情况可视化的示例分析

六、组织宽表

#组织宽表vacc_combined=pd.DataFrame(columns=['location','date','Pfizer/BioNTech', 'Sinovac', 'Moderna', 'Oxford/AstraZeneca'])for i in vacc_by_manu.location.unique():    for j in vacc_by_manu.date.unique():        for z in vacc_by_manu.vaccine.unique():            result=query(vacc_by_manu,i,j,z)            if vacc_combined.loc[(vacc_combined.location==i)&(vacc_combined.date==j)].empty:                result_df=pd.DataFrame({'location':i,'date':j,z:result},index=['new'])                vacc_combined=pd.concat([vacc_combined,result_df])            else:                vacc_combined.loc[(vacc_combined.location==i)&(vacc_combined.date==j),z]=result
vacc_combined

Python实战之疫苗研发情况可视化的示例分析

七、补全缺失数据

#补全缺失数据temp=pd.DataFrame()for i in vacc_combined.location.unique():#按国家进行不全    r=vacc_combined.loc[vacc_combined.location==i]    r=r.fillna(method='ffill',axis=0)#先按最近一次的数据进行补全    temp=pd.concat([temp,r])#若没有最近的数据,认为该项为0temp=temp.fillna(0).reset_index(drop=True)temp

Python实战之疫苗研发情况可视化的示例分析

八、绘制堆叠柱状图

#绘制堆叠柱状图fig=px.bar(temp,        x='location',        y=vacc_by_manu.vaccine.unique(),        animation_frame='date',        color_discrete_sequence=['#636efa','#19d3f3','#ab63fa','#00cc96']#为了查看方便,品牌颜色与前一部分对应        )fig.show()

Python实战之疫苗研发情况可视化的示例分析

数据中主要涉及Pfizer/BioNTech、Sinovac、Moderna、Oxford/AstraZeneca 4个品牌,其中:

Python主要用来做什么

Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。

关于“Python实战之疫苗研发情况可视化的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯