天天看點

《資料驅動安全:資料安全分析、可視化和儀表盤》一2.2.1 了解Python資料分析和可視化生态系統

本節書摘來華章計算機《資料驅動安全:資料安全分析、可視化和儀表盤》一書中的第2章 ,第2.2.1節,[美]傑·雅克布(jay jacobs)鮑布·魯迪斯(bob rudis) 著 薛傑 王占一 張卓 胡開勇 蔣夢飏 趙爽 譯, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

2.2.1 了解python資料分析和可視化生态系統

雖然python有很多可用的庫,但是僅有少數庫在處理資料方面很出色,而我們仍舊稱這些庫是一個生态系統,是因為每一個庫的開發和支援來自不同的組織、社群或者個人,他們互相合作,卻組織松散。

《資料驅動安全:資料安全分析、可視化和儀表盤》一2.2.1 了解Python資料分析和可視化生态系統

如下是一些幾乎每一個項目都需要的庫:

numpy(www.numpy.org/),可以為通用資料創造一個多元容器,支援對資料的多種操作,生成随機數。它也能夠“廣播”對于python對象的操作,使其代碼更簡潔和高效。

scipy庫(www.scipy.org/scipylib/index.html),numpy的上層封裝,便捷的面向數組操作,能夠将numpy廣播操作擴充到python語言中的其他類型的資料元素。另外它還附帶統計相關的操作。

這些子產品,結合ipython,有時會被scipy棧的核心元件引用(自從它包含了scipy庫以後,這有點費解)。你可以從www.scipy.org/擷取更多關于棧的資訊。

《資料驅動安全:資料安全分析、可視化和儀表盤》一2.2.1 了解Python資料分析和可視化生态系統

當你用你自己方法采用此生态系統時,你會發現如下代碼:

《資料驅動安全:資料安全分析、可視化和儀表盤》一2.2.1 了解Python資料分析和可視化生态系統
《資料驅動安全:資料安全分析、可視化和儀表盤》一2.2.1 了解Python資料分析和可視化生态系統

import段的代碼會載入庫裡的函數和變量,使其名稱和功能性在目前python工作會話裡生效,as元件能使子產品裡的變量、函數和對象能簡單地被引用。

假如你的許多程式元件,都要引用每一個scipy程式包裡的基本正常子產品,你可以建立一個文本作為基本模闆,包含這些imports和其他(以後)能重複使用的代碼來節省打字的時間。

python的“難點”

python有兩個特性容易讓新手受挫。第一個“難點”是空白縮進,空格在python代碼裡是非常重要的。對于代碼段,沒有{}或begin/end來标記開始和結束。你必須保持一緻的縮進來區分一起執行的代碼段,不一緻的縮進會導緻解釋器輸出錯誤資訊,程式代碼出現異常。現在大部分文本編輯器或者ide都可以配置提示功能。

第二個“難點”是在使用變量前缺少聲明,将一個變量breaches初始化為某個值,不經意間引用該變量,breaches在解釋器裡不會出錯,但是輸出的結果卻不符合預期。

《資料驅動安全:資料安全分析、可視化和儀表盤》一2.2.1 了解Python資料分析和可視化生态系統

關于python版本

本書的例子基于python2.7,在編寫本書時,canpy依然使用python2.7。現在python有兩個主要的版本,2.7.x和3.3.x,python 3和python2.7對預設行為做了很多改變,許多包也完成了更新以便與新版本相容。但是仍舊有許多包隻相容python2.7,是以穩定性和廣泛性使得python2.7版本成為了資料分析的好選擇。