李 霖,張俊坤,陳 堯,張 宇
(攀枝花學(xué)院 四川,攀枝花 617000)
Python語言是目前用于大數(shù)據(jù)分析的主流語言之一,Python語言擁有強(qiáng)大的數(shù)據(jù)分析功能,可實(shí)現(xiàn)對數(shù)據(jù)抽取、收集整理、分析挖掘及數(shù)據(jù)展示,Python語言包含Numpy,Pandas,Matplotlib,SciPy,iPython等數(shù)據(jù)分析開源庫。在數(shù)據(jù)可視化方面有matplotlib開源庫、seaborn開源庫。matplotlib開源庫主要針對二維圖形的可視化。seaborn開源庫是常用的數(shù)據(jù)可視化開源庫,seaborn開源庫主要用于三維數(shù)據(jù)的可視化操作。開發(fā)者可調(diào)用相應(yīng)函數(shù)進(jìn)行數(shù)據(jù)可視化操作,并根據(jù)相應(yīng)的數(shù)據(jù)及數(shù)據(jù)的特性,選擇不同類型的數(shù)據(jù)可視化方法。[1]
新冠疫情數(shù)據(jù)具有數(shù)量多、冗余復(fù)雜、不完整性、不一致性、數(shù)據(jù)來源廣泛等特征。數(shù)據(jù)預(yù)處理是數(shù)據(jù)分析的主要環(huán)節(jié),數(shù)據(jù)預(yù)處理是解決原始數(shù)據(jù)問題的有效方法,合理的數(shù)據(jù)預(yù)處理可為后續(xù)數(shù)據(jù)可視化結(jié)果做鋪墊。在數(shù)據(jù)的處理過程中,需要進(jìn)行數(shù)據(jù)清洗工作,如數(shù)據(jù)集是否存在重復(fù)、數(shù)據(jù)集是否存在缺失、數(shù)據(jù)集是否具有完整性和一致性、數(shù)據(jù)集中是否存在異常值等問題,發(fā)現(xiàn)諸如此類的問題需要針對性地?cái)?shù)據(jù)預(yù)處理。Python語言在數(shù)據(jù)處理領(lǐng)域常用Pandas開源庫作為數(shù)據(jù)處理工具,[2]Pandas開源庫具有大量標(biāo)準(zhǔn)的數(shù)據(jù)模型,能夠提供高效操作大型數(shù)據(jù)集所需的工具。利用Python語言中Pandas開源庫DataFrame方法,對新冠疫情數(shù)據(jù)組裝、合并、類型轉(zhuǎn)化、分類、異常值檢測、過濾等數(shù)據(jù)預(yù)處理操作。
數(shù)據(jù)可視化的目的是洞悉蘊(yùn)含在數(shù)據(jù)中的現(xiàn)象和規(guī)律。數(shù)據(jù)可視化包括對數(shù)據(jù)的發(fā)現(xiàn)、決策、解釋、分析、探索和學(xué)習(xí)。數(shù)據(jù)可視化通過可視表達(dá),增強(qiáng)人們完成某些任務(wù)的效率。數(shù)據(jù)可視化是探索數(shù)據(jù)潛在信息的主要途徑之一。
TipDM建模平臺是基于Python語言引擎、用于數(shù)據(jù)挖掘建模的開源平臺。TipDM建模平臺通過拖拽的方式進(jìn)行操作,將數(shù)據(jù)輸入輸出、數(shù)據(jù)預(yù)處理、挖掘建模、模型評估等環(huán)節(jié)通過流程化的方式進(jìn)行連接。TipDM建模平臺使用戶便于理解及操作數(shù)據(jù)可視化。
matplotlib標(biāo)準(zhǔn)開源庫是Python語言的2D繪圖開源庫,開發(fā)者可通過簡短的代碼生成相應(yīng)數(shù)據(jù)的直方圖、餅圖、條形圖、直線圖、散點(diǎn)圖等。開發(fā)者可直接調(diào)用subplot方法對正余弦,開發(fā)者可以對圖像進(jìn)行多種常規(guī)操作,如開發(fā)者使用xlabel,ylabel函數(shù)對圖像坐標(biāo)軸命名、設(shè)置坐標(biāo)軸的刻度和坐標(biāo)軸的間隔。開發(fā)者可使用show()可以對圖像進(jìn)行顯示。[3]此外,matplotlib標(biāo)準(zhǔn)開源庫可以配合numpy開源庫、dataframe開源庫、pandas開源庫使用。
在Python語言中直接使用isnull()方法并不能直觀地反應(yīng)數(shù)據(jù)缺失值的信息。經(jīng)過反復(fù)嘗試,使用df.isnull().any()方法可以判斷包含缺失值的數(shù)據(jù)特征,如果被判斷數(shù)據(jù)特征存在缺失值則返回True,反之False。也可以使用isnull().sum()方法進(jìn)行判斷,此方法可直接顯示數(shù)據(jù)特征缺失值的數(shù)量。[5]
在數(shù)據(jù)預(yù)處理階段,需要檢測數(shù)據(jù)樣本是否存在重復(fù)的現(xiàn)象,是否進(jìn)行數(shù)據(jù)樣本重復(fù)檢測會影響數(shù)據(jù)分析和數(shù)據(jù)可視化結(jié)果的準(zhǔn)確性,如果數(shù)據(jù)樣本存在重復(fù)數(shù)據(jù),則需要進(jìn)行重復(fù)數(shù)據(jù)樣本的刪除工作。Python語言中處理重復(fù)數(shù)據(jù)樣本使用duplicated()方法。在duplicated()方法中,subset參數(shù)用于檢測重復(fù)的數(shù)據(jù)樣本范圍,默認(rèn)為數(shù)據(jù)集的所有數(shù)據(jù)特征,可指定特定數(shù)據(jù)特征。Keep參數(shù)用于標(biāo)記數(shù)據(jù)樣本的重復(fù)數(shù)據(jù)。
箱線圖法:箱線圖是利用數(shù)據(jù)集中不同位置分位數(shù)識別數(shù)據(jù)集中存在的異常點(diǎn),箱線圖法如圖1所示。
圖1 箱型圖示例
數(shù)據(jù)集下四分位數(shù):數(shù)據(jù)集25%分位點(diǎn)所對應(yīng)值為(Q1)中位數(shù);數(shù)據(jù)集50%分位點(diǎn),對應(yīng)值為(Q2)。
數(shù)據(jù)集上四分位數(shù):數(shù)據(jù)集75%分位點(diǎn),對應(yīng)值為(Q3)上須,數(shù)據(jù)集Q3+1.5對應(yīng)值為(Q3-Q1)下須,Q1-Q1.5(Q3-Q1)對應(yīng)值為Q3-Q1表示四分位差。
在統(tǒng)計(jì)數(shù)據(jù)過程中,開發(fā)者使用train1.groupby(['城市'])方法對新冠疫情報(bào)告城市進(jìn)行計(jì)數(shù)。使用train1['新增治愈'].groupby(train1['城市'])方法對數(shù)據(jù)集中的新增治愈數(shù)進(jìn)行統(tǒng)計(jì)。最后,匯總處理數(shù)據(jù)[6]。
新冠疫情住院人數(shù)應(yīng)為累計(jì)確診-累計(jì)死亡-累計(jì)治愈的差值,實(shí)時(shí)住院人數(shù)使用train1['住院人數(shù)']=train1['累計(jì)確診']-train1['累計(jì)死亡']-train1['累計(jì)治愈']方法進(jìn)行統(tǒng)計(jì),并進(jìn)行匯總。使用同樣的方法對各個(gè)省份的住院人數(shù)分別進(jìn)行統(tǒng)計(jì)。使用ax.plot(table.index,table['累計(jì)確診'],color='r')方法分別對累計(jì)確診、累計(jì)治愈數(shù)、累計(jì)死亡數(shù)進(jìn)行數(shù)據(jù)可視化操作,并對各個(gè)國家新冠疫情數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化。
表1 新冠疫情數(shù)據(jù)預(yù)處理結(jié)果展示
在數(shù)據(jù)預(yù)處理后,使用TipDM建模平臺繪制新冠疫情儀表盤,建立數(shù)字大盤模型。以新冠疫情累計(jì)確診人數(shù)為參考值,繪制出新冠疫情匯總概要信息圖,以數(shù)據(jù)集中確診時(shí)間為橫坐標(biāo),確診人數(shù)為縱坐標(biāo),繪制出時(shí)空變化情況圖。以累計(jì)確診人數(shù)為參考值繪制新冠疫情重點(diǎn)病區(qū)區(qū)域圖。
數(shù)據(jù)可視化是獲取、處理、呈現(xiàn)數(shù)據(jù)必不可缺的數(shù)據(jù)操作環(huán)節(jié),新聞設(shè)計(jì)依靠現(xiàn)在的媒體技術(shù)平臺,新聞數(shù)據(jù)的信息量呈現(xiàn)指數(shù)式增長。在日常生活中,人們習(xí)慣在網(wǎng)上分享信息,互相交流生活,促進(jìn)了全媒體時(shí)代的誕生。但信息過剩問題一直存在,在維基解密事件之后,新聞工作者們開始意識到如何將數(shù)據(jù)信息直觀并有針對性地提供給用戶[7]。數(shù)據(jù)可視化新聞設(shè)計(jì)設(shè)置成4個(gè)步驟:數(shù)據(jù)挖掘、數(shù)據(jù)過濾、數(shù)據(jù)可視化、完成新聞報(bào)道制作,構(gòu)成數(shù)據(jù)新聞設(shè)計(jì)制作體系。數(shù)據(jù)可視化新聞設(shè)計(jì),使得用戶可以不用思考,就可以觀察數(shù)據(jù)中潛在的信息。
數(shù)據(jù)可視化技術(shù)可用于醫(yī)學(xué)診斷、整形手術(shù)與輻射治療規(guī)劃等方面。數(shù)據(jù)可視化在醫(yī)學(xué)應(yīng)用中的核心技術(shù)是構(gòu)建人肉眼看不到的身體器官的三維模型,進(jìn)而顯示醫(yī)學(xué)圖像,為診斷提供依據(jù)。醫(yī)學(xué)影像數(shù)據(jù)的采集與可視化需要以統(tǒng)計(jì)巨大的數(shù)據(jù)量為基礎(chǔ),并且利用復(fù)雜的算法進(jìn)行建模[8]。醫(yī)學(xué)影像三維數(shù)據(jù)可視化,目前在腦部核磁共振圖像序列重建、圖像分割技術(shù)、標(biāo)定多重?cái)?shù)據(jù)集合圖像技術(shù)、實(shí)時(shí)渲染技術(shù)方面應(yīng)用廣泛。
數(shù)據(jù)可視化還可用于氣象預(yù)報(bào)數(shù)據(jù)集,氣象數(shù)據(jù)可視化需要呈現(xiàn)出動態(tài)變化的效果,因此,在將大量氣象數(shù)據(jù)可視化時(shí)要注意實(shí)時(shí)監(jiān)控,以便于做出對未來氣象的預(yù)測和分析。通過將海量氣象數(shù)據(jù)轉(zhuǎn)變?yōu)閳D像,在用戶界面上顯示出某一個(gè)時(shí)刻的等壓面、漩渦、等溫面以及云層的位置與運(yùn)動情況等,分析定位暴雨位置并分析其強(qiáng)度,可以為預(yù)報(bào)人精確分析與預(yù)測天氣情況提供充分科學(xué)的依據(jù)。在氣象預(yù)報(bào)數(shù)據(jù)可視化時(shí),不論是普通云圖,還是中尺度數(shù)值預(yù)報(bào)數(shù)據(jù)可視化。其根本目的都是將其中的數(shù)據(jù)細(xì)致地傳達(dá)給用戶[9]。
總體而言,新冠疫情數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理操作后,可以有效地得出高質(zhì)量數(shù)據(jù)集。對數(shù)據(jù)進(jìn)行可視化處理,運(yùn)用數(shù)據(jù)可視化技術(shù)可以直觀地展示疫情蔓延地區(qū)及各國疫情發(fā)展趨勢,深入分析全球疫情現(xiàn)狀,分析國內(nèi)疫情及國際疫情現(xiàn)狀,了解國內(nèi)和國際疫情發(fā)展趨勢?;跀?shù)據(jù)可視化在新冠疫情數(shù)據(jù)的成功應(yīng)用,可以將數(shù)據(jù)可視化推廣到多類場景進(jìn)行應(yīng)用。