python數據結構、類型解析及常用數據分析工具

Python數據結構

Python數據結構有列表、元組、字典、隊列、棧、樹等等。

Python中的數據結構有非常多的類型,其中,Python中系統自己定義好的,不需要我們自己去定義的數據結構叫做Python的內置數據結構,比如列表、元組等,而有些數據組織方式,Python系統裡面沒有直接定義,需要我們自己去定義實現這些數據的組織方式,這些數據組織方式成為Python的擴展數據結構,比如棧、隊列等。


python數據結構、類型解析及常用數據分析工具


1.python數據類型分析

數值(Number)

字符串(String)

列表(List)

字典(Dictionary)

元組(Tuple)

2.數值類型講解

int–整型

float–浮點型

bool–布爾型

fractions–分數

complex–複數

3.數值

int:python3中的int都是長整型,沒有大小限制,受限於內存區域大小的限制.

float:由整數部分和小數點部分組成,支持十進制和科學計數表示,c的雙精度型實現.

complex:有實數和虛數表示,實數和虛數都是浮點數,1+2j.

bool:int的子類,僅有兩個實例True,False對應1和0,可以整數直接運算.

4.字符串

一個一個的字符組成的有序數列叫做字符串,從python3開始字符串的類型就是unicode.

5.列表

隊列內個體稱為元素,有多個元素組成列表,元素可以是任意對象,如數字,字符串,對象,列表等.

列表採用線性的數據結構,使用[]表示,類型是可以變的,可以使用索引.

python數據分析工具一:IPython

IPython是一個在多種編程語言之間進行交互計算的命令行shell,最開始是用python開發的,提供增強的內省,富媒體,擴展的shell語法,tab補全,豐富的歷史等功能。IPython提供瞭如下特性:

更強的交互shell(基於Qt的終端)

一個基於瀏覽器的記事本,支持代碼,純文本,數學公式,內置圖表和其他富媒體

支持交互數據可視化和圖形界面工具

靈活,可嵌入解釋器加載到任意一個自有工程裡

簡單易用,用於並行計算的高性能工具

python數據分析工具二:GraphLabGreate

GraphLabGreate是一個Python庫,由C++引擎支持,可以快速構建大型高性能數據產品。

這有一些關於GraphLabGreate的特點:

可以在您的計算機上以交互的速度分析以T為計量單位的數據量。

在單一平臺上可以分析表格數據、曲線、文字、圖像。

最新的機器學習算法包括深度學習,進化樹和factorizationmachines理論。

可以用HadoopYarn或者EC2聚類在你的筆記本或者分佈系統上運行同樣的代碼。

藉助於靈活的API函數專注於任務或者機器學習。

在雲上用預測服務便捷地配置數據產品。

為探索和產品監測創建可視化的數據。

python數據分析工具三:Pandas

pandas是一個開源的軟件,它具有BSD的開源許可,為Python編程語言提供高性能,易用數據結構和數據分析工具。在數據改動和數據預處理方面,Python早已名聲顯赫,但是在數據分析與建模方面,Python是個短板。Pands軟件就填補了這個空白,能讓你用Python方便地進行你所有數據的處理,而不用轉而選擇更主流的專業語言,例如R語言。

整合了勁爆的IPyton工具包和其他的庫,它在Python中進行數據分析的開發環境在處理性能,速度,和兼容方面都性能卓越。Pands不會執行重要的建模函數超出線性迴歸和麵板迴歸;對於這些,參考statsmodel統計建模工具和scikit-learn庫。為了把Python打造成頂級的統計建模分析環境,我們需要進一步努力,但是我們已經奮鬥在這條路上了。

python數據分析工具四:PuLP

線性編程是一種優化,其中一個對象函數被最大程度地限制了。PuLP是一個用Python編寫的線性編程模型。它能產生線性文件,能調用高度優化的求解器,GLPK,COINCLP/CBC,CPLEX,和GUROBI,來求解這些線性問題。

python數據分析工具五:Matplotlib

matplotlib是基於Python的2D(數據)繪圖庫,它產生(輸出)出版級質量的圖表,用於各種打印紙質的原件格式和跨平臺的交互式環境。matplotlib既可以用在python腳本,python和ipython的shell界面(alaMATLAB?或Mathematica?),web應用服務器,和6類GUI工具箱。

matplotlib嘗試使容易事情變得更容易,使困難事情變為可能。你只需要少量幾行代碼,就可以生成圖表,直方圖,能量光譜(powerspectra),柱狀圖,errorcharts,散點圖(scatterplots)等。

為簡化數據繪圖,pyplot提供一個類MATLAB的接口界面,尤其是它與IPython共同使用時。對於高級用戶,你可以完全定製包括線型,字體屬性,座標屬性等,藉助面向對象接口界面,或項MATLAB用戶提供類似(MATLAB)的界面。

python數據分析工具六:Scikit-Learn

Scikit-Learn是一個簡單有效的數據挖掘和數據分析工具(庫)。關於最值得一提的是,它人人可用,重複用於多種語境。它基於NumPy,SciPy和mathplotlib等構建。Scikit採用開源的BSD授權協議,同時也可用於商業。Scikit-Learn具備如下特性:

分類(Classification)–識別鑑定一個對象屬於哪一類別迴歸(Regression)–預測對象關聯的連續值屬性聚類(Clustering)–類似對象自動分組集合降維(DimensionalityReduction)–減少需要考慮的隨機變量數量模型選擇(ModelSelection)–比較、驗證和選擇參數和模型預處理(Preprocessing)–特徵提取和規範化。

python數據分析工具七:Spark

Spark由一個驅動程序構成,它運行用戶的main函數並在聚類上執行多個並行操作。Spark最吸引人的地方在於它提供的彈性分佈數據集(RDD),那是一個按照聚類的節點進行分區的元素的集合,它可以在並行計算中使用。RDDs可以從一個Hadoop文件系統中的文件(或者其他的Hadoop支持的文件系統的文件)來創建,或者是驅動程序中其他的已經存在的標量數據集合,把它進行變換。用戶也許想要Spark在內存中永久保存RDD,來通過並行操作有效地對RDD進行復用。最終,RDDs無法從節點中自動復原。

Spark中第二個吸引人的地方在並行操作中變量的共享。默認情況下,當Spark在並行情況下運行一個函數作為一組不同節點上的任務時,它把每一個函數中用到的變量拷貝一份送到每一任務。有時,一個變量需要被許多任務和驅動程序共享。Spark支持兩種方式的共享變量:廣播變量,它可以用來在所有的節點上緩存數據。另一種方式是累加器,這是一種只能用作執行加法的變量,例如在計數器中和加法運算中。


分享到:


相關文章: