主頁 > 知識庫 > Python實戰(zhàn)之疫苗研發(fā)情況可視化

Python實戰(zhàn)之疫苗研發(fā)情況可視化

熱門標簽:武漢外呼系統(tǒng)平臺 江西省地圖標注 外呼系統(tǒng)哪些好辦 池州外呼調(diào)研線路 富錦商家地圖標注 如何申請400電話費用 沈陽防封電銷卡品牌 沈陽人工外呼系統(tǒng)價格 沈陽外呼系統(tǒng)呼叫系統(tǒng)

一、安裝plotly庫

因為這部分內(nèi)容主要是用plotly庫進行數(shù)據(jù)動態(tài)展示,所以要先安裝plotly庫

pip install plotly

除此之外,我們對數(shù)據(jù)的處理還用了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

二、疫苗研發(fā)情況

各國采用的疫苗品牌概覽

通過對各國衛(wèi)生部門確認備案的疫苗品牌,展示各廠商的疫苗在全球的分布

#讀取數(shù)據(jù)
locations=pd.read_csv(r'data/locations.csv')
locations

這里我們的loacation中可以看到各個地方的疫苗和數(shù)據(jù)的來源與數(shù)據(jù)來源的網(wǎng)頁

三、數(shù)據(jù)處理

#發(fā)現(xiàn)數(shù)據(jù)中vaccines列中包含了多個品牌的情況,將這類數(shù)拆為多條
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() # 查看疫苗的種類

四、可視化疫苗的分布情況

#繪圖
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()

各品牌分布:

  • Pfizer/BioNTech 主要分布于北美,南美的智利、厄瓜多爾,歐洲、沙特
  • Sputnik V 主要分布于俄羅斯、伊朗、巴基斯坦、非洲的阿爾及利亞以及南美的玻利維亞、阿根廷
  • Oxford/AstraZeneca 主要分布于歐洲、南亞、巴西
  • Moderna 主要分布在北美和歐洲
  • Sinopharm/Beijing 主要分布在中國、北非部分國家和南美的秘魯
  • Sinovac 主要分布在中國、南亞、土耳其和南美
  • Sinopharm/Wuhan 主要僅分布于中國
  • Covaxin 主要分布于印度

綜上可以發(fā)現(xiàn),全球采用最廣的仍是Pfizer/BioNTech,國產(chǎn)疫苗中Sinovac(北京科興疫苗)輸出到了較多國家

五、各品牌疫苗上市情況(僅部分國家)

根據(jù)數(shù)據(jù)集中提供的部分國家20年12月以來各品牌疫苗接種情況,分析各品牌上市時間及市場占有情況

#讀取數(shù)據(jù)
vacc_by_manu=pd.read_csv(r'data/vaccinations-by-manufacturer.csv')
#定義函數(shù),用于從原始數(shù)據(jù)中組織寬表
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

六、組織寬表

#組織寬表
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

七、補全缺失數(shù)據(jù)

#補全缺失數(shù)據(jù)
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)#先按最近一次的數(shù)據(jù)進行補全
    temp=pd.concat([temp,r])#若沒有最近的數(shù)據(jù),認為該項為0
temp=temp.fillna(0).reset_index(drop=True)
temp

八、繪制堆疊柱狀圖

#繪制堆疊柱狀圖
fig=px.bar(temp,
        x='location',
        y=vacc_by_manu.vaccine.unique(),
        animation_frame='date',
        color_discrete_sequence=['#636efa','#19d3f3','#ab63fa','#00cc96']#為了查看方便,品牌顏色與前一部分對應(yīng)
        )
fig.show()

數(shù)據(jù)中主要涉及Pfizer/BioNTech、Sinovac、Moderna、Oxford/AstraZeneca 4個品牌,其中:

  • Pfizer/BioNTech 上市時間最早,20年12月24日時即已經(jīng)開始在智利接種了,之后在12月底開始在歐洲接種,21年1月12日開始在美國接種
  • Sinovac 21年2月2日開始在智利接種Moderna 21年1月8日先在意大利開始接種,隨后12日即開始在美國大量接種,最終在歐洲及美國均大量接種
  • Oxford/AstraZeneca 21年2月2日先在意大利開始接種,隨后即在歐洲開始接種
  • 整體上看,Pfizer/BioNTech上市最早,且在全球占有份額最大,Moderna 隨后上市,主要占據(jù)美國和歐洲市場,Sinovac、Oxford/AstraZeneca上市均較晚,其中Sinovac占據(jù)了智利的大部分市場份額,而Oxford/AstraZeneca主要分布于歐洲,且占份額很小

到此這篇關(guān)于Python實戰(zhàn)之疫苗研發(fā)情況可視化的文章就介紹到這了,更多相關(guān)Python疫苗研發(fā)情況可視化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python利用folium實現(xiàn)地圖可視化
  • Python編寫可視化界面的全過程(Python+PyCharm+PyQt)
  • Python實現(xiàn)K-means聚類算法并可視化生成動圖步驟詳解
  • python開發(fā)實時可視化儀表盤的示例
  • python數(shù)據(jù)分析之員工個人信息可視化
  • 使用python實現(xiàn)三維圖可視化
  • 關(guān)于Python可視化Dash工具之plotly基本圖形示例詳解
  • python用pyecharts實現(xiàn)地圖數(shù)據(jù)可視化
  • Python繪制K線圖之可視化神器pyecharts的使用
  • Python繪制詞云圖之可視化神器pyecharts的方法
  • Python實現(xiàn)疫情地圖可視化
  • python 可視化庫PyG2Plot的使用
  • python使用Streamlit庫制作Web可視化頁面

標簽:呂梁 株洲 潛江 銅川 通遼 阿里 常德 黑龍江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python實戰(zhàn)之疫苗研發(fā)情況可視化》,本文關(guān)鍵詞  Python,實戰(zhàn),之,疫苗,研發(fā),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python實戰(zhàn)之疫苗研發(fā)情況可視化》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python實戰(zhàn)之疫苗研發(fā)情況可視化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章