謝曉偉,陳君艷,鄭麗,包琦
摘要:隨著信息革命的深入推進,信息技術(shù)與經(jīng)濟社會的交匯融合,引發(fā)了數(shù)據(jù)的迅猛增長,數(shù)據(jù)已經(jīng)成了國家基礎(chǔ)戰(zhàn)略性資源,大數(shù)據(jù)日漸對經(jīng)濟運行機制、社會生活方式和國家治理能力產(chǎn)生重要影響。如何對已經(jīng)掌握的數(shù)據(jù)開展分析,脫去其枯燥的“外衣”,以直觀形式呈現(xiàn)成為研究熱點。該項目對脫貧人口現(xiàn)狀、致貧原因和扶貧資金投入產(chǎn)出情況等數(shù)據(jù)進行了收集及可視化呈現(xiàn),精準扶貧檔案伴隨著精準扶貧工作同步形成,為預(yù)防在全面實現(xiàn)脫貧后返貧,鞏固脫貧成果并有效銜接鄉(xiāng)村振興戰(zhàn)略提供數(shù)據(jù)支持。
關(guān)鍵詞:預(yù)防返貧;Matplotlib;可視化技術(shù);Python語言
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)34-0034-03
1概述
筆者在開展江蘇省泰州市2019年科技支撐計劃(社會發(fā)展)項目《信息化技術(shù)在“精準扶貧”工作中的應(yīng)用和研究》項目的同時,對于采集的相關(guān)數(shù)據(jù)進行了數(shù)據(jù)可視化的相關(guān)研究,依托Python編程語言以及其強大的第三方庫,對枯燥的數(shù)據(jù)進行分析,讓其以圖形化方式靈動地呈現(xiàn)在用戶面前,讓用戶更加直觀地去理解和分析致貧的原因,有效的控制返貧的風(fēng)險,為返貧治理提供決策支持,對于其他地區(qū)相同領(lǐng)域工作是具有一定借鑒意義的。
2相關(guān)技術(shù)簡介
2.1Python語言
Python作為一門解釋型高級動態(tài)編程語言,它具有跨平臺、開源、免費等眾多優(yōu)點,已經(jīng)成為最受歡迎的程序設(shè)計語言之一。Python是完全面向?qū)ο蟮恼Z言,它的對象包括函數(shù)、模塊、數(shù)字、字符串等,并且完全支持面向?qū)ο笳Z言的繼承、重載、派生、多態(tài)等特性,有益于增強源代碼的復(fù)用性。Python除了有強大的標準庫以外,還有豐富的第三方庫,這也確保了Python語言的不斷發(fā)展,這些第三方庫主要包括了Web框架、科學(xué)計算、GUI和其他一些方面,可以讓使用者基于這些庫快速開展工作,本文的研究過程中作者也是用到了很多標準庫與第三方庫的內(nèi)容。
2.2 NumPy庫
NumPy(Numerical Python)是Python程序設(shè)計語言的一個擴展程序庫,它支持大量的維度數(shù)組與矩陣的運算,運行速度非常快,包括一個強大的N維數(shù)組對象 ndarray、廣播功能函數(shù)、整合C/C++/Fortran 代碼的工具以及線性代數(shù)、傅里葉變換、隨機數(shù)生成等功能,因為本文的研究基于大量的數(shù)據(jù)分析和可視化,因此需要使用NumPy庫。
2.3 Matplotlib庫
Matplotlib是Python的繪圖庫,常常與NumPy庫一起使用。Matplotlib早期是為了癲癇病人的腦皮層電圖相關(guān)信號的可視化而研究出來的,它在函數(shù)設(shè)計上參考了在函數(shù)的設(shè)計上參考了MATLAB,為Python構(gòu)建一個Matlab式的繪圖接口,因此取名叫作Matplotlib[1]。Matplotlib的圖像都位于Figure對象中,使用者利用它可以快速創(chuàng)建海量類型的2D圖表和一些基本的3D圖表,可根據(jù)數(shù)據(jù)集(DataFrame,Series)自行定義x,y軸,繪制圖形,諸如柱狀圖、密度圖、直方圖、線形圖、散點圖等等,能夠滿足本文研究的大部分需要。
2.4 Pyecharts庫
Echarts是百度公司創(chuàng)建,通過Java Script實現(xiàn)的一個可視化的開源庫,可以在PC或移動設(shè)備上流暢運行,兼容性極高。而Pyecharts是為了與Python 進行對接,能夠在 Python中生成獨立的網(wǎng)頁,展示數(shù)據(jù)生成圖,也可以在flask、django中集成使用。
3基于Python數(shù)據(jù)可視化實例的實現(xiàn)
項目對于數(shù)據(jù)的處理通過了三個層次實現(xiàn),分別是采集層、分析層和展示層。采集層利用筆者建設(shè)的精準扶貧信息系統(tǒng),采用信息化技術(shù)對不同應(yīng)用場景的數(shù)據(jù)進行采集,按照不同的分析主題分區(qū)進行存儲,并進行了簡單的數(shù)據(jù)清洗;分析層對于采集層所采集的數(shù)據(jù),要按照不同的分析主題進行進一步的數(shù)據(jù)清洗和分析,在這里筆者采用了Python中的Numpy和Pandas兩個工具庫,用來處理數(shù)據(jù)結(jié)構(gòu)和運算,另外通過scikit-learn和Tensorflow 庫來進行數(shù)據(jù)挖掘與建模,實現(xiàn)數(shù)據(jù)預(yù)處理、分類、回歸、降維、模型選擇等;展示層則是數(shù)據(jù)可視化的最終成果,筆者通過Matplotlib[2]、Pyecharts等工具庫的應(yīng)用,對分析層所分析的數(shù)據(jù)進行圖形化展示,以另一個維度來觀察數(shù)據(jù),可以清晰地發(fā)現(xiàn)隱藏在數(shù)據(jù)中間的重要信息。因為本文是對數(shù)據(jù)展示形式的研究,下面介紹幾個圖形化展示實例的實現(xiàn)過程。
3.1脫貧數(shù)據(jù)的直觀展現(xiàn),提升管理者治理有效
建檔貧困檔案作為“精準扶貧”的一個重要指標,在筆者開展《信息化技術(shù)在“精準扶貧”工作中的應(yīng)用和研究》項目中,搭建了精準扶貧信息系統(tǒng),其中根據(jù)泰州市實際采集了2018年各區(qū)(市)脫貧人口數(shù),總計脫貧人員7.25萬人,為了直觀展現(xiàn),筆者通過Pyecharts[3]庫采用地圖形式展現(xiàn),效果如圖1所示。
本用例通過泰州區(qū)域地圖形式直觀展示出泰州市脫貧人口的分布情況,以不同的顏色展示,由藍到紅表示脫貧人口的絕對數(shù)從小到大,可以從宏觀上了解各個縣(市、區(qū))脫貧攻堅取得的成果,也可以通過鼠標的點擊獲取詳細信息,并能夠?qū)崿F(xiàn)數(shù)據(jù)往下鉆取。
通過貧困地圖可以更直觀地反映出全省各地區(qū)貧困分布情況,針對較為貧困的地區(qū),深入分析和研究當?shù)刂仑毜脑騕4],作為鄉(xiāng)村振興工作的宏觀指引;隨著扶貧工作的進一步深入,貧困檔案逐步建立,脫貧攻堅完成后,貧困檔案將進一步提升管理者鄉(xiāng)村治理的能力,并有效預(yù)防該地區(qū)返貧的風(fēng)險,對各地區(qū)、各層級的鄉(xiāng)村振興工作進行微觀指導(dǎo)。宏觀與微觀二者有機結(jié)合,進一步優(yōu)化了鄉(xiāng)鎮(zhèn)振興工作的開展。
其代碼實現(xiàn)如圖2所示,因涉及數(shù)據(jù)安全考慮,代碼實現(xiàn)中均采用虛擬靜態(tài)數(shù)據(jù)源,下同。
3.2 扶貧資金投入與產(chǎn)出的直觀展現(xiàn),助力鄉(xiāng)村產(chǎn)業(yè)興旺
對于扶貧資金的支持,相關(guān)部門按月都會統(tǒng)計投入與產(chǎn)出效益的比較,在筆者設(shè)計的精準扶貧系統(tǒng)中也將此類數(shù)據(jù)作為采集的重點,用于對扶貧資金投入產(chǎn)出的考核,為方便直觀展示,筆者對此進行了一個雙折線圖的設(shè)計,效果如圖3所示。
本用例通過雙折線圖的形式,分月度將扶貧資金投入產(chǎn)出的比較清晰展現(xiàn)出來,用藍色折線表示扶貧資金的投入,用橙色折線表示產(chǎn)出的效益,當藍色折線在橙色折線上方時,表示投入是大于產(chǎn)出的,當藍色折線在橙色折線下方時,表示產(chǎn)出是大于投入的。通過此折線圖4,可以了解到扶貧資金帶來的實際效益規(guī)模,同時有效進行了扶貧資金的監(jiān)管,對于長期投入高于產(chǎn)出的項目可以進一步分析原因,甚至終止項目,管理者通過圖形更加容易發(fā)現(xiàn)適合本區(qū)域發(fā)展的項目,大力發(fā)展高回報率的項目,實現(xiàn)產(chǎn)業(yè)興旺的目的,為鄉(xiāng)村振興目標提供了有力項目支撐。其代碼實現(xiàn)如圖4所示。
3.3 致貧原因的直觀展現(xiàn),預(yù)防脫貧人口返貧
對于致貧原因,筆者在研究中注意到,主要有因病、因?qū)W、因殘、因災(zāi)、缺技術(shù)、缺資金等多方面因素,根據(jù)精準扶貧系統(tǒng)中采集的致貧原因數(shù)據(jù),筆者通過雷達圖展現(xiàn)的方式,可以直觀反映某一地區(qū)致貧的情形,效果如圖5所示。
本用例通過雷達圖(或稱蜘蛛網(wǎng)圖)分析某村貧困人口的致貧原因,可以有效掌握一個地區(qū)致貧的主要原因,開展有針對性的幫扶工作,開展扶貧與扶志、扶智相結(jié)合,同時根據(jù)圖中所示的“短板”,采用“補短板”方式,有效化解該地區(qū)致貧因素,進一步鞏固了脫貧攻堅的成果,做到有的放矢[5],能夠在返貧上起到有針對性的預(yù)防,為鄉(xiāng)村振興掃清了因各類因素而返貧的障礙,確保鄉(xiāng)村振興工作能夠有序開展。其代碼實現(xiàn)如圖6所示。
4 結(jié)論
本文以建立貧困檔案的研究為出發(fā)點,通過對各級各類貧困數(shù)據(jù)的研究和分析,引出基于Python技術(shù)的數(shù)據(jù)呈現(xiàn)在精準扶貧,以及脫貧攻堅勝利后預(yù)防返貧工作中帶來更直觀的決策依據(jù)。
Python語言在對數(shù)據(jù)分析和數(shù)據(jù)可視化方面的功能十分強大,除了Pyecharts、Matplotlib[6]等庫以外,常用的還有Seaborn、Plotly、Bokeh[7]等,筆者借開展精準扶貧課題的研究對數(shù)據(jù)可視化進行了淺顯的嘗試。本文通過三個數(shù)據(jù)可視化實例的實現(xiàn),拋磚引玉,期待同行共同研究,在大數(shù)據(jù)急速發(fā)展的今天,利用Python數(shù)據(jù)可視化的優(yōu)勢,為行業(yè)發(fā)展提供有力的可視化數(shù)據(jù)支撐。
參考文獻:
[1] 賈利娟,劉娟,王健,等.基于PyEcharts的全球玉米貿(mào)易數(shù)據(jù)可視化系統(tǒng)建設(shè)及應(yīng)用展望[J].農(nóng)業(yè)展望,2019,15(3):46-54.
[2] 劉大成.Python 數(shù)據(jù)可視化之matploitlib實踐[M].北京:電子工業(yè)出版社,2018.
[3] (愛爾蘭)Igor Milovanovic. Python數(shù)據(jù)可視化編程實戰(zhàn)[M]. 顓清山,譯.北京:人民郵電出版社,2015.
[4] Julie Steele,Noah Iliinsky.數(shù)據(jù)可視化之美[M]. 祝洪凱,李妹芳,譯.北京:機械工業(yè)出版社,2011.
[5] 鄭戟明,柳青.Echarts在數(shù)據(jù)可視化課程中的應(yīng)用[J].電腦知識與技術(shù),2020,16(2):9-11.
[6] 李天輝.基于python的數(shù)據(jù)分析可視化研究與實現(xiàn)[J].電子測試,2020(20):78-79.
[7] 趙佳慧.面向鄉(xiāng)村振興的精準扶貧檔案價值實現(xiàn)研究[D].河北:河北大學(xué),2021.
【通聯(lián)編輯:代影】