1. 程式人生 > >Python資料分析常用的庫總結

Python資料分析常用的庫總結

Python之所以能夠成為資料分析與挖掘領域的最佳語言,是有其獨特的優勢的。因為他有很多這個領域相關的庫可以用,而且很好用,比如Numpy、SciPy、Matploglib、Pandas、ScikitLearn、Keras、Gensim等     1)Numpy,它給Python提供了真正的陣列功能,包括多維陣列,以及對資料進行快速處理的函式,Numpy還是更多高階擴充套件庫的依賴庫,比如後續的Scipy、Matplotlib、Pandas等,都一樣;     2)Scipy,他讓Python成了半個MATLAB,Scipy提供了真正的矩陣型別,及其大量基於矩陣運算的物件和函式,他包括的功能包括最優化、線性代數、積分、插值、你和、特殊函式、快速傅立葉變換、訊號處理與影象處理、常微分求解方程和其他科學與工程中常用的計算;Scipy依賴於Numpy;     3)Matplotlib,對於Python來說,Matplotlib是最著名的繪相簿,主要是二維繪圖,當然,也可以支援一些簡答的三圍繪圖;     4)Pandas,他是Python下最強大的資料分析和探索工具,沒有之一。他包含的高階的資料結構和精巧的工具,使得在Python中處理資料非常快速和簡單,Pandas構建在NumPy之上,他使得以Numpy為中心的應用很容易使用,Pandas的名稱來自於面板資料(Panel Data)和Python資料分析(Data Analysis),他最初被作為金融資料分析工具而開發出來,由AQR Capital Management公司於2008年4月開發出來,並與2009年底開源;     他的功能非常強大,支援類似於SQL的資料增刪改查,並且帶有豐富的資料處理函式,支援時間序列分析,支援靈活處理確實資料等。Pandas其實很複雜, 夠單獨寫一本書,如果對他有興趣可以看看Pandas主要作者之一 WesMcKinney寫的《利用Python進行資料分析》一書。     5)StatModels,Pandas著眼於資料的讀取、處理和探索,而StatsModels則更加註重資料的統計建模和分析,他使得Python有了R語言的味道。StatModels支援與Pandas的資料互動,因此,他與Pandas結合,成為了Python下強大的資料探勘組合;     6)Scikit-Learn,這是一個和機器學習有關的庫,他是Python下強大的及其學習工具包,他提供了完善的及其學習工具箱,包括:資料預處理、分類、迴歸、聚類、預測和模型分析等。他依賴於NumPy、SciPy、Matplotlib等;     7)Keras,他是用來搭建神經網路的,他並非簡單的神經網路庫,而是一個基於Theano的強大的深度學習庫,利用它不僅僅可以搭建普通的神經網路,還可以搭建各種深度學習模型,如自編碼器、迴圈神經網路、遞迴神經網路、卷積神經網路等。由於它是基於Theano的,速度相當快。     8)Theano,他也是一個Python庫,他是由深度學習專家YoshuaBengio帶領的實驗室開發出來的,用來定義、優化和高效地解決多維陣列對應數學表示式的模擬估計問題。他具有高效地實現符號分解、高度優化的速度、和穩定性等特點,最重要的是還實現了GPU加速,是的密集型資料的處理速度是CPU的十倍;     9)Gensim,topic modelling of humans,他主要用來處理語言方面的任務,如文字相似度計算、LDA、Word2Vec等,這些領域的任務往往需要比較多的背景知識,通常的情況是:研究這方面的讀者已經不需要我再多說什麼,而不研究這方面的讀者,在這裡也說不清楚。