張運玉
摘要:Python是一種強大的數(shù)據(jù)分析工具,具有豐富的數(shù)據(jù)分析功能,通過設計專用平臺,可以解決許多領域的數(shù)據(jù)分析問題。文章首先對Python數(shù)據(jù)分析技術進行介紹,并研究Python數(shù)據(jù)分析工具的常用類庫。在此基礎上,探討Python數(shù)據(jù)分析平臺的設計及應用,以期為相關數(shù)據(jù)分析工作提供參考。
關鍵詞:Python;數(shù)據(jù)分析;平臺設計
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)30-0003-02
隨著人工智能時代的全面到來,數(shù)據(jù)分析工作已經(jīng)引起了各行各業(yè)的廣泛重視。采用計算機語言編程方法完成數(shù)據(jù)分析工作,不僅效率高,而且數(shù)據(jù)分析結(jié)果的可靠性強,具有多方面的利用價值。在數(shù)據(jù)驅(qū)動模式下,無論是產(chǎn)品設計開發(fā)還是項目管理工作,都需要強大的數(shù)據(jù)分析工作提供支持。
1Python數(shù)據(jù)分析技術
1.1Python語言
Python語言是一種解釋型高級程序語言,支持面向?qū)ο缶幊淘O計,能夠處理動態(tài)數(shù)據(jù)類型,目前已經(jīng)研發(fā)出第三方程序數(shù)據(jù)庫和實用性較強的應用工具。自20世紀90年代Pvthon語言公開發(fā)布以來,由于其語法簡潔、類庫豐富,適用于快速開發(fā)活動,已經(jīng)成為當下較為流行的一種腳本語言。在采用Pvthon語言進行編程時,編程人員不需要考慮內(nèi)存占用等底層的細節(jié)問題,能夠有效提升編程效率。而且Pvthon語言具有良好的一致性,可以在多種平臺上移植。其本身屬于開源代碼,在程序解釋執(zhí)行過程中,可以直接從源代碼中運行,不需要編譯。這些特點都為Python語言的廣泛應用奠定了基礎。而且Pvthon語言具有強大的數(shù)據(jù)分析功能,可以應用到網(wǎng)站開發(fā)、圖像處理、數(shù)據(jù)統(tǒng)計和可視化表達等多個領域。在2017年5月時,Py-thon語言成功超越Java語言,名列編程語言排行榜第一位,是目前最重要的編程語言之一,并成為數(shù)據(jù)分析工作的首選編程技術。
1.2數(shù)據(jù)分析過程
利用Python語言開展數(shù)據(jù)分析工作,具體包含以下幾點基本流程:(1)需求確認,在數(shù)據(jù)分析過程中首先要明確數(shù)據(jù)使用需求,比如財務數(shù)據(jù)分析、工藝流程分析等,從而根據(jù)目標數(shù)據(jù)特點,采用合適的數(shù)據(jù)分析方法,深度挖掘數(shù)據(jù)特點和潛在利用價值。(2)數(shù)據(jù)獲取,在明確數(shù)據(jù)分析需求后,應盡可能全面地收集目標數(shù)據(jù),具體可采用本地獲取、網(wǎng)絡爬蟲獲取手段等。其中,網(wǎng)絡爬蟲獲取手段是利用Python語言進行編程,合法獲取網(wǎng)絡中的相關數(shù)據(jù)資料,滿足大數(shù)據(jù)分析中的數(shù)據(jù)量獲取需求。(3)數(shù)據(jù)預處理,在正式進行數(shù)據(jù)分析前,首先要完成數(shù)據(jù)預處理工作,具體是通過對目標數(shù)據(jù)進行合并、清洗、變換和標準化處理,滿足后續(xù)建模分析的需要。在此過程中,可提高數(shù)據(jù)質(zhì)量,從而提高數(shù)據(jù)分析效率。(4)建模及優(yōu)化,在數(shù)據(jù)分析過程中,建模是一個重要環(huán)節(jié),具體可通過建立聚類模型、關聯(lián)規(guī)則、智能算法等,對目標數(shù)據(jù)進行處理。完成建模后要對其性能進行評價和優(yōu)化,確保其適用于實際數(shù)據(jù)分析工況。f5)結(jié)果生成,完成數(shù)據(jù)分析后,要采用可視化形式對結(jié)果進行展示和輸出,方便使用者對數(shù)據(jù)結(jié)果進行利用。
2Python數(shù)據(jù)分析工具的常用類庫
2.1Ipython類庫
類庫豐富、接口統(tǒng)一是Python數(shù)據(jù)分析工具使用便捷的主要原因,通過采用其自身攜帶的類庫,可以有效簡化程序設計工作,提高數(shù)據(jù)分析效率。其中Ipython是Python語言中的一個核心類庫,為Python語言編程提供了標準工具集,并將所有相關工具聯(lián)系起來,通過采用交互式、探索式等方法,為科學計算提供一個高效環(huán)境。Ipython類庫本身是一個加強PythonShell,主要應用于交互式數(shù)據(jù)的并行處理,為分布式計算提供基礎框架。利用Ipython類庫進行編程,能夠有效提升代碼編寫、測試和調(diào)試速度。
2.2 NumPy類庫
NumPy類庫是Python語言中的科學計算基礎包,即Numer-ical Python的簡稱。通過利用該類庫,能夠快速完成數(shù)據(jù)分析過程中的科學計算任務,也可以被作為多維數(shù)據(jù)容器,用于存儲大型矩陣,并對其進行計算處理。在NumPy類庫中包含多維數(shù)據(jù)組對象ndarray,可以數(shù)組進行元素級計算,并直接執(zhí)行函數(shù)運算。該類庫還具有線性代數(shù)計算、隨機數(shù)生成、傅里葉變換等功能,可以將c語言等多種語言代碼集成到Python語言中,并所謂算法間數(shù)據(jù)傳遞的容器。
2.3Scikit-learn類庫
Scikit-learn屬于一種數(shù)據(jù)挖掘工具,在NumPy等類庫的基礎上,可以對常用算法進行封裝。其本身包含數(shù)據(jù)預處理、分類和聚類、數(shù)據(jù)回歸分析等機器學習算法,能夠幫助編程人員快速完成建模過程,確保模型接口的統(tǒng)一性,從而方便使用。在一定的數(shù)據(jù)量前提下,該類庫可以解決大部分數(shù)據(jù)分析工作,即使對于數(shù)據(jù)分析算法不夠精通的編程人員,也可以通過快速建模,實現(xiàn)需要的算法功能。在使用過程中,可以查閱seikit-learn官方文檔,直接調(diào)用類庫中包含的模塊,完成建模工作。
2.4其他常用類庫
除了上述介紹的幾種類庫外,SciPv類庫、Pandas類庫、Mat-plotlib類庫等,也是進行數(shù)據(jù)分析時常用的類庫。其中,SciPy是一種能夠解決數(shù)學計算問題的開源軟件,在NumPy類庫基礎上建立數(shù)據(jù)函數(shù)集合,為Pvthon語言編程提供科學計算工具集。其中包括數(shù)值計算方法及其功能函數(shù),可以便捷地完成數(shù)據(jù)分析工作。Pandas也是Python語言的一個核心類庫,主要提供時間序列支持,能夠快速完成結(jié)構(gòu)化數(shù)據(jù)處理工作。在數(shù)據(jù)預處理的數(shù)據(jù)清洗和標準化過程中,都可以采用Pandas類庫中的功能函數(shù)。Matplotlib是專門為數(shù)據(jù)圖表繪制提供支持的類庫,在開源社區(qū)發(fā)展的帶動下,該類庫已經(jīng)在計算領域得到廣泛應用,是Python語言經(jīng)常使用的繪圖工具包。通過發(fā)揮這些類庫的功能作用,可以為基于Python語言的數(shù)據(jù)分析過程提供有力支持。
3Python數(shù)據(jù)分析平臺設計及應用
3.1設計需求分析
基于Python設計數(shù)據(jù)分析平臺,主要為了解決數(shù)據(jù)分析過程中的數(shù)據(jù)采集、導入、分析和可視化展示等問題,完成整個數(shù)據(jù)分析處理過程。通過利用上述類庫進行平臺設計,可以極大地簡化程序開發(fā)過程,滿足實際應用需求。比如在一款產(chǎn)品售后客戶滿意度的問卷分析工具設計過程中,數(shù)據(jù)采集主要通過本地獲取方式完成,在導人調(diào)查問卷后,需要進行數(shù)據(jù)預處理工作,按照問題分類進行數(shù)據(jù)提取,并進行格式轉(zhuǎn)換。然后利用預先構(gòu)建的數(shù)據(jù)分析模型,開展數(shù)據(jù)分析評價工作,得出綜合性評價結(jié)果。除了對當期數(shù)據(jù)進行圖形化展示以外,還要對數(shù)據(jù)進行存儲,隨著產(chǎn)品改良的進行,分析客戶滿意度變化趨勢,為產(chǎn)品設計工作提供參考依據(jù)。
3.2核心技術及平臺框架
在基于Python語言的數(shù)據(jù)分析平臺設計過程中,首先應根據(jù)軟件應用需求,搭建數(shù)據(jù)庫和數(shù)據(jù)通道,方便數(shù)據(jù)的調(diào)取和利用。同時應設計優(yōu)化的操作界面以及可視化展示模型,方便使用者對數(shù)據(jù)分析結(jié)果的觀察和利用。在本次平臺設計過程中,采用開源Python2.7完成編程工作,使用的類庫和模塊主要包括Ipython、NumPy、Matplotlib、os、Json、codes等。其中,開源Python2.7可在網(wǎng)絡中直接下載,并通過pip下載類庫和模塊。數(shù)據(jù)處理對象是調(diào)查問卷,可以將調(diào)查問卷中的數(shù)據(jù)結(jié)果存儲在數(shù)據(jù)庫中,并以圖片、文檔等形式進行數(shù)據(jù)結(jié)果展示。其中,調(diào)查問卷的基本數(shù)據(jù)類型由初始化文件自動生成,然后通過調(diào)用相關函數(shù),完成數(shù)據(jù)錄入過程,并對數(shù)據(jù)進行分類存儲。除了調(diào)查問卷中的主體信息外,系統(tǒng)還會自動錄入調(diào)查對象的基礎信息,并對調(diào)查問卷的有效性進行評價,在數(shù)據(jù)預處理過程中提出無效問卷的數(shù)據(jù)。在數(shù)據(jù)結(jié)果展示過程中,可以采用圖表形式建立調(diào)查問卷信息與調(diào)查對象信息的對應關系,使結(jié)果一目了然,為后續(xù)產(chǎn)品設計開發(fā)活動提供依據(jù)。
3.3主要功能模塊設計
在該數(shù)據(jù)分析平臺的主要功能模塊設計過程中,首先要為用戶提供一個操作友好的圖形界面。在主操作界面中,主要包含調(diào)查問卷導入、查詢、數(shù)據(jù)分析和結(jié)果展示等功能??梢酝ㄟ^主界面操作更新數(shù)據(jù)庫,并根據(jù)操作限制條件完成分類數(shù)據(jù)處理功能。由于該平臺的數(shù)據(jù)分析結(jié)果主要是為了給設計人員提供參考,在完成基本的數(shù)據(jù)分析工作后,還可以結(jié)合設計要素,對結(jié)果進行分類展示,比如按照產(chǎn)品功能、產(chǎn)品包裝、產(chǎn)品外觀造型等展示不同的數(shù)據(jù)分析結(jié)果。隨著產(chǎn)品銷售時間的增加,需要評估的數(shù)據(jù)總量也會越來越大,通過在數(shù)據(jù)庫中使用sQL語言進行編譯,僅需要一次創(chuàng)建就可以重復調(diào)用,可提高數(shù)據(jù)庫執(zhí)行速度。在數(shù)據(jù)庫初始化過程中,根據(jù)不同的分類結(jié)果展示需求,自動生產(chǎn)數(shù)據(jù)表,然后通過調(diào)用可視化模型,完成數(shù)據(jù)結(jié)果展示。使用者在對數(shù)據(jù)結(jié)果進行利用時,可通過采用查詢、編輯、標注、選擇、刪除等功能,獲得自己所需要的數(shù)據(jù)分析結(jié)果,然后將其存儲到結(jié)果數(shù)據(jù)庫中。此外,該平臺還具有數(shù)據(jù)庫打印功能,可以打印各種形式的報表,使用較為方便。
3.4應用效果
利用Python語言設計數(shù)據(jù)分析平臺,完成特定的數(shù)據(jù)分析功能,使用非常方便。從上述平臺設計過程及應用效果來看,Python語言自身語法簡單,即使初學者也能夠通過查詢和調(diào)用相關類庫,實現(xiàn)數(shù)據(jù)分析功能。在龐大的第三方資源庫支持下,Python能夠為各個領域的數(shù)據(jù)分析工作提供支持。在基于Python的數(shù)據(jù)分析平臺中,提供了多種接口,支持其他語言的編程操作,進一步擴大了其程序適用性。而且在可視化腳本工具的支持下,可以通過簡單編程實現(xiàn)可視化結(jié)果展示功能,充分滿足使用者對數(shù)據(jù)分析結(jié)構(gòu)的利用需求。在數(shù)據(jù)操作過程中,數(shù)據(jù)庫運行速度快,可以減少使用者的等待時間,及時掌握數(shù)據(jù)分析結(jié)果,發(fā)揮其利用價值。因此,Python語言是目前最為先進的數(shù)據(jù)分析工具之一,具有廣泛的應用前景,可以有效簡化復雜的數(shù)據(jù)分析處理過程,對其底層操作進行封裝,只通過簡單的功能按鈕操作,就可以得到想要的數(shù)據(jù)處理結(jié)果,優(yōu)勢非常突出。
4結(jié)束語
綜上所述,Python語言在數(shù)據(jù)分析領域具有突出的應用優(yōu)勢,可以利用其自身攜帶的各種類庫,完成數(shù)據(jù)分析的基本流程,并通過直接調(diào)用功能函數(shù),簡化代碼編程過程。在Python數(shù)據(jù)分析技術的應用過程中,通過從實際需求出發(fā),完善平臺功能,可以快捷、高效地完成數(shù)據(jù)分析任務,得到具有參考價值的數(shù)據(jù)分析結(jié)果。