999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

新冠肺炎疫情數據的抓取及可視化研究

2021-04-30 07:24:50劉玉玲鄭力新
電子設計工程 2021年7期
關鍵詞:趨勢可視化疫情

劉玉玲,鄭力新

(1.廈門工學院電子與電氣工程學院,福建廈門 361000;2.華僑大學工學院,福建泉州 362021)

2020 年的開春,整個中國乃至全世界被一種恐怖的病毒——新型冠狀病毒覆蓋,病毒的擴散之快始料未及,國家和各地衛健委每日實時更新各種疫情數據。

Python 是一種開源、免費的高級動態編程語言,語法簡單,可讀性強。現成的爬蟲框架以及相關的函數庫為數據抓取提供了可能。

文中系統利用了Python 強大的函數庫,研究了網絡爬蟲的基本方法,完成了新型冠狀病毒相關疫情數據的獲取,并進行了數據分析及可視化。

1 數據下載

網絡數據下載的過程為爬蟲,它主動抓取網絡相關數據[1]。此次新冠肺炎疫情的數據來源為國家及各地衛健委的每日信息發布,新浪、網易、騰訊、丁香等進行轉載。打開網頁后,按下F12 功能按鍵,進入相應瀏覽器的network[2-3],下面以火狐瀏覽器訪問騰訊疫情實時追蹤數據為例。F5 重新載入當前頁面,發現所有的疫情數據都存儲在兩個類型為json的數據中,其對應的請求網址如圖1 所示。

圖1 兩個json類型數據的請求地址

點擊每個數據的“響應”,即可看到每個數據的字典信息。這些數據的結構十分清晰,易于提取[4]。值得注意的是,各大網站的數據源會常常變更數據格式及請求網址,只要進行適當地替換即可。

得知了數據的URL、請求方法、應答格式等信息,可通過下列代碼抓取數據。

程序中的requests模塊是網絡爬蟲利器[5],可以使用pip install requests 安裝指令實現,由于國外鏈接網站的網速較慢,經常導致安裝失敗,因此可嘗試使用鏡像源實現安裝,如豆瓣、清華等。指令改用pip install requests-i https://pypi.douban.com/simple,以保證其下載速度。除了利用requests 模塊爬蟲,還可以利用scrapy 等應用程序框架為網絡爬蟲提取數據[6-7]。

語句requests.get()向目標網站發起請求,其返回值的內容即為目標網站頁面的HTML代碼。新冠肺炎疫情數據是實時更新的,網址亦隨之變化,網址的末尾是當前時間的時間戳,程序中采用了格式化輸入,%d′%int(time.time()*1000)可實時獲取系統的時間戳。

2 數據處理

下載的兩個data 都是字典,字典由鍵和對應值成對組成,通過print(data.keys())可查看字典中所有的鍵。data1 的鍵為:lastUpdateTime,chinaTotal,chinaAdd,isShowAdd,showAddSwitch,areaTree,china DayList,chinaDayAddList,dailyNewAddHistory,daily History,wuhanDayList,articleList;data2的鍵為:china DayList,chinaDayAddList,dailyNewAddHistory,daily History,wuhanDayList,articleList,provinceCompare,fore ignList,globalStatis,globalDailyHistory,cityStatis。

兩數據有部分鍵重復,但data1 的最后6 個鍵對應的值被置為空,而這些信息存儲在data2 中,兩個數據一起覆蓋了新冠肺炎疫情的所有信息。表1 列出了后續數據處理所需的幾個重要的鍵及其說明。

表1 重要的鍵及其說明

2.1 全國疫情趨勢圖數據

由表1 可知,全國疫情總體趨勢的相關信息存于data2的chinaDayList,將相關數據提取保存,代碼如下:for m in range(len(data2[′chinaDayList′])):

由程序可得到date_list,confirm_list,suspect_list,dead_list,heal _list。程序中的日期首先由split函數拆分為month 和day,再進行格式化輸出[8]。

全國疫情新增趨勢的相關信息存于data2 的chinaDayAddList中,經由chinaDayList 數據類似的提取方法,可得到date_add_list,confirm_ add_list,suspect_add_list,dead_add_list,heal_add_list。

2.2 全國疫情地圖數據

繪制全國疫情地圖的目的是將全國各省的累計確診和現有確診人數以顏色深淺做標記顯示在地圖上,可直觀地看出各省疫情的嚴重程度。各個城市的疫情數據存于data1 的areaTree 中。

經過如下代碼可統計出各省的累計確診人數,其中[′areaTree′][0][′children′]代表各個省的具體疫情數據,item[′name′]為省名,item[′total′][′confirm′]為各省的累計確診人數。

根據字典data 可得各省的累計確診人數,如′湖北′:67 760,′廣東′:1 353,′河南′:1 272,′浙江′:1 215,′湖南′:1 018,′安徽′:990 等。

通過類似的方法可統計出各省的現有確診人數,現有確診人數=累計確診人數-累計治愈人數-累計 死 亡 人 數,data[item[′name′]]=int(item[′total′][′confirm′])-int(item[′total′][′ heal ′])-int(item [′total′][′dead ′]),打印出各省的現有確診人數,如′湖北′:17 151,′廣東′:75,′河南′:3,′浙江′:24,′湖南′:26,′安徽′:0 等。

3 數據可視化

數據的可視化分析是一種綜合利用可視化界面和分析理論來幫助用戶解釋復雜數據的技術,可視化是數據探索的重要途徑。在Python 中,常用的軟件繪圖組件為Matplotlib、Numpy、iPython、Scripy 等,該文主要采用了Matplotlib 模塊[9]。

Matplotlib意為用Python實現Matlab的功能,是Python下較出色、較常用的繪圖軟件,文中主要繪制了兩種圖形:1)全國的趨勢圖,用的是Matplotlib 中的pyplot 子庫[10];2)全國地圖,用的是Matplotlib 的擴展工具包basemap[11]。

3.1 全國疫情趨勢圖

不管是全國疫情總體趨勢圖還是新增趨勢圖,其橫坐標均為日期,縱坐標是趨勢的相關數據,因此采用pylot 繪制即可。Matplotlib 是Python 常用的數據繪制包,基于numpy 的數組運算功能[12-13]。

趨勢圖繪制比較簡易,如繪制全國確診趨勢,x軸為日期,y軸為每日確診人數,利用plt.plot(date_list,confirm_list,label=′確診′)可實現每日確診趨勢圖繪制。

圖2 為新冠肺炎疫情總體曲線,4 條曲線分別代表每日的確診、疑似、死亡、治愈人數。由圖可看出,疫情數據從1 月22 日之后快速增長,2 月10 日之后進入緩慢增長階段,而治愈人數快速增加,基于檢測手段的不斷進步,疑似病例也快速減少。

圖2 新冠肺炎疫情總體曲線

全國疫情新增趨勢程序跟總體趨勢程序類似,只是將y軸對應更改為各種新增數據。圖3 為新冠肺炎疫情新增曲線,圖中除了2 月12 日將臨床診斷病例數納入確診病例數而導致新增確診人數激增外,各項數據隨著時間的遞增都有了明顯的下降,這是因為國家防控有力,人民通力合作。由于湖北省疫情較為嚴重,因此可利用類似方法繪制湖北省甚至武漢市的趨勢圖。

圖3 新冠肺炎疫情新增曲線

3.2 全國疫情地圖

Basemap 是Matplotlib 的擴展工具包,是專業標準的地圖繪制工具。在數據可視化過程中,可將數據在地圖上以空間坐標的方式顯示出來。

Basemap 一般需要配合安裝pyproj,安裝方法異于requests,首先下載本地python 對應版本basemap和pyproj 的whl 文件,如本地python 是3.8 版本,64位,則下載basemap-1.2.1-cp38-cp38m-win_amd 64.whl 和pyproj-2.5.0-cp38-cp38m-win_amd64.whl,然后用pip 進行安裝[14],在命令行模式cd 到下載目錄,執行pip install pyproj-2.5.0-cp38-cp38m-win_amd64.whl,再 執 行pip install basemap-1.2.1-cp38-cp38m-win_amd64.whl。

大部分電腦按照上述步驟可以安裝成功,但有時會提示該平臺不支持此whl 文件,這是因為whl 包不滿足系統的命名規則,可用如下方法查看系統命名規則:首先進入python3.8 的shell,分別輸入以下命令import pip 和print(pip.pep425tags.get_ supported()),顯示(′py3′,′none′,′any′)符合命名規則,將basemap的whl 文件改名為basemap-1.2.1-py3-none-any.whl即可。若開發環境使用的是pycharm,還要重新將本地庫導入到項目中。

另外,中國省級地圖無法直接畫出,需配合使用中國地區的shapefiles 文件,下載后將其放入某一路徑文件夾[15]。程序中通過讀shapefiles 的方式從m.readshapefile(′shape/china-shapefiles-master/china′,′province′,drawbounds=True)讀取中國各省的shape。

Basemap 本身不會進行任何繪圖,但提供了將坐標轉換為二三十個不同地圖投影之一的功能,其投影方式由projection 參數決定。該次肺炎疫情全國地圖采用了Lambert 投影方式,m=Basemap(projection=′lcc′,llcrnrlon=77,llcrnrlat=14,urcrnrlon=140,urcrnrlat=51,lat_1=33,lat_2=45,lon_0=100,ax=axes),然后讀取shape 文件,即可顯示中國地圖。

plot_province_map()子程序用于繪制全國累計確診和現有確診的疫情地圖,其流程圖如圖4 所示。利用數據處理所得的各省數據按等級在圖上標注成不同顏色,并在圖下方進行圖注說明。

新冠肺炎的累計確診地圖如圖5 所示,繪圖等級為五級,確診人數從少到多,顏色逐步加深。由圖可直觀看出,截止到2020年3月10日,湖北疫情最為嚴重,其次為河南、湖南、廣東、浙江,我國的西北部疫情相對較輕。隨著疫情范圍的不斷擴大,國外如日本、韓國確診人數也大幅攀升,按照類似方法,更改各省的累計確診數據為各國的累計確診數據,可繪制出世界地圖。

圖4 plot_province_map子程序流程圖

圖5 全國新冠肺炎累計確診地圖

圖6 全國新冠肺炎現有確診地圖

新冠肺炎現有確診地圖如圖6 所示,繪圖等級為六級,增加了現有確診人數為0 的等級。由圖可看出,截止到2020 年3 月10 日,新疆、西藏、青海、福建、安徽等已經實現了零確診,云南、內蒙、山西等地現有確診人數為個位數,除了湖北省現有確診人數超過一萬外,其他大部分省份均回落到兩位數,整體疫情逐步轉好。

4 結論

利用了Python 強大的第三方庫,完成了疫情數據信息的抓取和可視化,簡明直觀地將疫情的動態發展情況呈現于眼前,其中requests 模塊用于數據抓取,Matplotlib 模塊用于數據可視化。整個設計簡單明確,效果較好,為其他情況下的網絡數據抓取以及可視化提供了可借鑒的方法。

猜你喜歡
趨勢可視化疫情
基于CiteSpace的足三里穴研究可視化分析
戰疫情
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
趨勢
第一財經(2021年6期)2021-06-10 13:19:08
抗疫情 顯擔當
人大建設(2020年5期)2020-09-25 08:56:22
疫情中的我
基于CGAL和OpenGL的海底地形三維可視化
疫情期在家帶娃日常……
37°女人(2020年5期)2020-05-11 05:58:52
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
初秋唇妝趨勢
Coco薇(2017年9期)2017-09-07 21:23:49
主站蜘蛛池模板: 狠狠色香婷婷久久亚洲精品| 亚洲国产中文精品va在线播放 | 成AV人片一区二区三区久久| 国产成人超碰无码| 欧美日韩国产高清一区二区三区| 黄色污网站在线观看| 国产永久在线视频| 国产97公开成人免费视频| 亚洲综合香蕉| 综合色天天| 成人国产三级在线播放| 亚洲男人在线| 久久青青草原亚洲av无码| 亚洲天堂视频在线播放| 精品国产免费观看| 国产精品jizz在线观看软件| www.亚洲色图.com| 五月婷婷精品| www.亚洲色图.com| 午夜综合网| 亚洲人成影院午夜网站| 2021国产精品自产拍在线| 亚洲精品视频在线观看视频| 四虎国产精品永久一区| 18禁高潮出水呻吟娇喘蜜芽| 一本一道波多野结衣av黑人在线| 久久精品人人做人人| 四虎精品国产AV二区| 欧美亚洲欧美区| 精品国产自在现线看久久| 国产三级毛片| 亚洲精品爱草草视频在线| 亚洲精品第一页不卡| 美女被操黄色视频网站| 久久香蕉国产线看观看精品蕉| 91系列在线观看| 亚洲国产中文欧美在线人成大黄瓜| 国产福利小视频在线播放观看| 88av在线| 国产91蝌蚪窝| 女人18毛片一级毛片在线| 日韩国产无码一区| 国产欧美日韩综合在线第一| 精品人妻无码区在线视频| 黄色国产在线| 国产91成人| 国产精品人莉莉成在线播放| 九色在线视频导航91| 成年人午夜免费视频| 亚洲欧美日本国产专区一区| 成人免费网站久久久| 丝袜高跟美脚国产1区| 免费又爽又刺激高潮网址 | 亚洲美女一级毛片| 成人另类稀缺在线观看| 午夜a级毛片| 亚洲国产精品日韩av专区| 好吊色国产欧美日韩免费观看| 国产成年女人特黄特色毛片免 | 免费国产黄线在线观看| 911亚洲精品| 2021天堂在线亚洲精品专区| 亚洲中文字幕97久久精品少妇| 成人免费视频一区| 国内老司机精品视频在线播出| 67194在线午夜亚洲| jijzzizz老师出水喷水喷出| 88av在线| 精品国产一区二区三区在线观看| 伊人天堂网| 国产成人精品18| 中美日韩在线网免费毛片视频| 国产福利影院在线观看| 丝袜美女被出水视频一区| 欧美色香蕉| 国产毛片高清一级国语| 亚洲婷婷丁香| 这里只有精品国产| 亚洲无线观看| 美女国内精品自产拍在线播放 | 亚洲日韩图片专区第1页| 综合亚洲网|