李 霖,張俊坤,陳 堯,張 宇
(攀枝花學(xué)院 四川,攀枝花 617000)
Python語(yǔ)言是目前用于大數(shù)據(jù)分析的主流語(yǔ)言之一,Python語(yǔ)言擁有強(qiáng)大的數(shù)據(jù)分析功能,可實(shí)現(xiàn)對(duì)數(shù)據(jù)抽取、收集整理、分析挖掘及數(shù)據(jù)展示,Python語(yǔ)言包含Numpy,Pandas,Matplotlib,SciPy,iPython等數(shù)據(jù)分析開(kāi)源庫(kù)。在數(shù)據(jù)可視化方面有matplotlib開(kāi)源庫(kù)、seaborn開(kāi)源庫(kù)。matplotlib開(kāi)源庫(kù)主要針對(duì)二維圖形的可視化。seaborn開(kāi)源庫(kù)是常用的數(shù)據(jù)可視化開(kāi)源庫(kù),seaborn開(kāi)源庫(kù)主要用于三維數(shù)據(jù)的可視化操作。開(kāi)發(fā)者可調(diào)用相應(yīng)函數(shù)進(jìn)行數(shù)據(jù)可視化操作,并根據(jù)相應(yīng)的數(shù)據(jù)及數(shù)據(jù)的特性,選擇不同類(lèi)型的數(shù)據(jù)可視化方法。[1]
新冠疫情數(shù)據(jù)具有數(shù)量多、冗余復(fù)雜、不完整性、不一致性、數(shù)據(jù)來(lái)源廣泛等特征。數(shù)據(jù)預(yù)處理是數(shù)據(jù)分析的主要環(huán)節(jié),數(shù)據(jù)預(yù)處理是解決原始數(shù)據(jù)問(wèn)題的有效方法,合理的數(shù)據(jù)預(yù)處理可為后續(xù)數(shù)據(jù)可視化結(jié)果做鋪墊。在數(shù)據(jù)的處理過(guò)程中,需要進(jìn)行數(shù)據(jù)清洗工作,如數(shù)據(jù)集是否存在重復(fù)、數(shù)據(jù)集是否存在缺失、數(shù)據(jù)集是否具有完整性和一致性、數(shù)據(jù)集中是否存在異常值等問(wèn)題,發(fā)現(xiàn)諸如此類(lèi)的問(wèn)題需要針對(duì)性地?cái)?shù)據(jù)預(yù)處理。Python語(yǔ)言在數(shù)據(jù)處理領(lǐng)域常用Pandas開(kāi)源庫(kù)作為數(shù)據(jù)處理工具,[2]Pandas開(kāi)源庫(kù)具有大量標(biāo)準(zhǔn)的數(shù)據(jù)模型,能夠提供高效操作大型數(shù)據(jù)集所需的工具。利用Python語(yǔ)言中Pandas開(kāi)源庫(kù)DataFrame方法,對(duì)新冠疫情數(shù)據(jù)組裝、合并、類(lèi)型轉(zhuǎn)化、分類(lèi)、異常值檢測(cè)、過(guò)濾等數(shù)據(jù)預(yù)處理操作。
數(shù)據(jù)可視化的目的是洞悉蘊(yùn)含在數(shù)據(jù)中的現(xiàn)象和規(guī)律。數(shù)據(jù)可視化包括對(duì)數(shù)據(jù)的發(fā)現(xiàn)、決策、解釋、分析、探索和學(xué)習(xí)。數(shù)據(jù)可視化通過(guò)可視表達(dá),增強(qiáng)人們完成某些任務(wù)的效率。數(shù)據(jù)可視化是探索數(shù)據(jù)潛在信息的主要途徑之一。
TipDM建模平臺(tái)是基于Python語(yǔ)言引擎、用于數(shù)據(jù)挖掘建模的開(kāi)源平臺(tái)。TipDM建模平臺(tái)通過(guò)拖拽的方式進(jìn)行操作,將數(shù)據(jù)輸入輸出、數(shù)據(jù)預(yù)處理、挖掘建模、模型評(píng)估等環(huán)節(jié)通過(guò)流程化的方式進(jìn)行連接。TipDM建模平臺(tái)使用戶(hù)便于理解及操作數(shù)據(jù)可視化。
matplotlib標(biāo)準(zhǔn)開(kāi)源庫(kù)是Python語(yǔ)言的2D繪圖開(kāi)源庫(kù),開(kāi)發(fā)者可通過(guò)簡(jiǎn)短的代碼生成相應(yīng)數(shù)據(jù)的直方圖、餅圖、條形圖、直線(xiàn)圖、散點(diǎn)圖等。開(kāi)發(fā)者可直接調(diào)用subplot方法對(duì)正余弦,開(kāi)發(fā)者可以對(duì)圖像進(jìn)行多種常規(guī)操作,如開(kāi)發(fā)者使用xlabel,ylabel函數(shù)對(duì)圖像坐標(biāo)軸命名、設(shè)置坐標(biāo)軸的刻度和坐標(biāo)軸的間隔。開(kāi)發(fā)者可使用show()可以對(duì)圖像進(jìn)行顯示。[3]此外,matplotlib標(biāo)準(zhǔn)開(kāi)源庫(kù)可以配合numpy開(kāi)源庫(kù)、dataframe開(kāi)源庫(kù)、pandas開(kāi)源庫(kù)使用。
在Python語(yǔ)言中直接使用isnull()方法并不能直觀地反應(yīng)數(shù)據(jù)缺失值的信息。經(jīng)過(guò)反復(fù)嘗試,使用df.isnull().any()方法可以判斷包含缺失值的數(shù)據(jù)特征,如果被判斷數(shù)據(jù)特征存在缺失值則返回True,反之False。也可以使用isnull().sum()方法進(jìn)行判斷,此方法可直接顯示數(shù)據(jù)特征缺失值的數(shù)量。[5]
在數(shù)據(jù)預(yù)處理階段,需要檢測(cè)數(shù)據(jù)樣本是否存在重復(fù)的現(xiàn)象,是否進(jìn)行數(shù)據(jù)樣本重復(fù)檢測(cè)會(huì)影響數(shù)據(jù)分析和數(shù)據(jù)可視化結(jié)果的準(zhǔn)確性,如果數(shù)據(jù)樣本存在重復(fù)數(shù)據(jù),則需要進(jìn)行重復(fù)數(shù)據(jù)樣本的刪除工作。Python語(yǔ)言中處理重復(fù)數(shù)據(jù)樣本使用duplicated()方法。在duplicated()方法中,subset參數(shù)用于檢測(cè)重復(fù)的數(shù)據(jù)樣本范圍,默認(rèn)為數(shù)據(jù)集的所有數(shù)據(jù)特征,可指定特定數(shù)據(jù)特征。Keep參數(shù)用于標(biāo)記數(shù)據(jù)樣本的重復(fù)數(shù)據(jù)。
箱線(xiàn)圖法:箱線(xiàn)圖是利用數(shù)據(jù)集中不同位置分位數(shù)識(shí)別數(shù)據(jù)集中存在的異常點(diǎn),箱線(xiàn)圖法如圖1所示。

圖1 箱型圖示例
數(shù)據(jù)集下四分位數(shù):數(shù)據(jù)集25%分位點(diǎn)所對(duì)應(yīng)值為(Q1)中位數(shù);數(shù)據(jù)集50%分位點(diǎn),對(duì)應(yīng)值為(Q2)。
數(shù)據(jù)集上四分位數(shù):數(shù)據(jù)集75%分位點(diǎn),對(duì)應(yīng)值為(Q3)上須,數(shù)據(jù)集Q3+1.5對(duì)應(yīng)值為(Q3-Q1)下須,Q1-Q1.5(Q3-Q1)對(duì)應(yīng)值為Q3-Q1表示四分位差。
在統(tǒng)計(jì)數(shù)據(jù)過(guò)程中,開(kāi)發(fā)者使用train1.groupby(['城市'])方法對(duì)新冠疫情報(bào)告城市進(jìn)行計(jì)數(shù)。使用train1['新增治愈'].groupby(train1['城市'])方法對(duì)數(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)行匯總。使用同樣的方法對(duì)各個(gè)省份的住院人數(shù)分別進(jìn)行統(tǒng)計(jì)。使用ax.plot(table.index,table['累計(jì)確診'],color='r')方法分別對(duì)累計(jì)確診、累計(jì)治愈數(shù)、累計(jì)死亡數(shù)進(jìn)行數(shù)據(jù)可視化操作,并對(duì)各個(gè)國(guó)家新冠疫情數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化。

表1 新冠疫情數(shù)據(jù)預(yù)處理結(jié)果展示
在數(shù)據(jù)預(yù)處理后,使用TipDM建模平臺(tái)繪制新冠疫情儀表盤(pán),建立數(shù)字大盤(pán)模型。以新冠疫情累計(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ù)平臺(tái),新聞數(shù)據(jù)的信息量呈現(xiàn)指數(shù)式增長(zhǎng)。在日常生活中,人們習(xí)慣在網(wǎng)上分享信息,互相交流生活,促進(jìn)了全媒體時(shí)代的誕生。但信息過(guò)剩問(wèn)題一直存在,在維基解密事件之后,新聞工作者們開(kāi)始意識(shí)到如何將數(shù)據(jù)信息直觀并有針對(duì)性地提供給用戶(hù)[7]。數(shù)據(jù)可視化新聞設(shè)計(jì)設(shè)置成4個(gè)步驟:數(shù)據(jù)挖掘、數(shù)據(jù)過(guò)濾、數(shù)據(jù)可視化、完成新聞報(bào)道制作,構(gòu)成數(shù)據(jù)新聞設(shè)計(jì)制作體系。數(shù)據(jù)可視化新聞設(shè)計(jì),使得用戶(hù)可以不用思考,就可以觀察數(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)出動(dòng)態(tài)變化的效果,因此,在將大量氣象數(shù)據(jù)可視化時(shí)要注意實(shí)時(shí)監(jiān)控,以便于做出對(duì)未來(lái)氣象的預(yù)測(cè)和分析。通過(guò)將海量氣象數(shù)據(jù)轉(zhuǎn)變?yōu)閳D像,在用戶(hù)界面上顯示出某一個(gè)時(shí)刻的等壓面、漩渦、等溫面以及云層的位置與運(yùn)動(dòng)情況等,分析定位暴雨位置并分析其強(qiáng)度,可以為預(yù)報(bào)人精確分析與預(yù)測(cè)天氣情況提供充分科學(xué)的依據(jù)。在氣象預(yù)報(bào)數(shù)據(jù)可視化時(shí),不論是普通云圖,還是中尺度數(shù)值預(yù)報(bào)數(shù)據(jù)可視化。其根本目的都是將其中的數(shù)據(jù)細(xì)致地傳達(dá)給用戶(hù)[9]。
總體而言,新冠疫情數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理操作后,可以有效地得出高質(zhì)量數(shù)據(jù)集。對(duì)數(shù)據(jù)進(jìn)行可視化處理,運(yùn)用數(shù)據(jù)可視化技術(shù)可以直觀地展示疫情蔓延地區(qū)及各國(guó)疫情發(fā)展趨勢(shì),深入分析全球疫情現(xiàn)狀,分析國(guó)內(nèi)疫情及國(guó)際疫情現(xiàn)狀,了解國(guó)內(nèi)和國(guó)際疫情發(fā)展趨勢(shì)。基于數(shù)據(jù)可視化在新冠疫情數(shù)據(jù)的成功應(yīng)用,可以將數(shù)據(jù)可視化推廣到多類(lèi)場(chǎng)景進(jìn)行應(yīng)用。