五個 Python 常用數據分析庫

前言

Python 是常用是數據分析工具,常用的數據分析庫有很多,下面主要介紹如下五個分析庫:NumPy、Pandas、SciPy、StatsModels、Matplotlib。

NumPy

NumPy 是一個非常常用的數據分析庫,更準確點說是一個數學計算庫,包括下面的 Pandas 也依賴於 NumPy。話說爲什麼用 NumPy,他有什麼優點?

  1. 衆多內置的數學計算:文章你看到這裏,說明你要做的工作大概率是和人工智能、機器學習或數據分析相關的工作,這些工作不是簡單的代碼邏輯的堆疊,而更多的數學的應用,時常需要矩陣計算、基本線性代數操作、隨機模擬和傅里葉變換等,NumPy 內置就可以精心這些操作,而不需要你徒手進行傅里葉展開。
  2. 快:舉個例子,矩陣 a 和 b 的乘法,可以直接寫成 a * b(元素乘積)或 a @ b(矩陣乘積),會比你徒手寫循環要快,原因你可能猜到了,那就是預編譯成 C 代碼或者用到更好的緩存策略等,有這樣的優點,你沒有什麼理由不用。
  3. 代碼簡單:矩陣相乘上面的寫法就比循環更易讀,更少的代碼也意味着更少的 Bug。

做數據分析,人生苦短,都已經用了 Python,那不妨瞭解一下 NumPy,你會有更深的理解。

Pandas

Pandas,Python Data Analysis Library,這是一個爲數據建模分析而生的工具庫,Pandas 包含許多數據模型,也吸納了很多其他庫的優勢,比如上文就提到 Pandas 依賴於 NumPy,這裏也建議瞭解了 NumPy 後再去學習 Pandas。Pandas 提供了大量的數據處理的函數和方法,尤其對大型數據集有其獨特的優勢,且由於其創建有着金融方面的背景,因此其在時間序列分析或經濟學方面也有其獨特的優勢。

Matplotlib

Matplotlib 是一個 2D 繪圖庫。一堆數據擺在面前,或者是一個巨大的數據表格擺在面前,去分析其中數據特徵,這樣的任務對於人眼來說有點難度,但是如果轉化爲圖形,則又是另一番感覺了。幾行代碼就可以畫出精確的直方圖、條形圖、誤差圖或散點圖,這樣的工具對於數據分析來說就是神器呀。

上面就是 Python 數據分析三大支柱(當然,有人會說其他的庫或工具也很好用,確實我不否認這一點,但是我個人及一部分人仍然認爲上面三個庫是 Python 數據分析三大支柱),下面繼續分析其他三個也很好用值得了解學習的工具庫。

SciPy

很多人也想把 SciPy 列爲支柱工具包,可見其還是很重要的。SciPy 也依賴於 NumPy,SciPy 是一個科學計算工具庫,其中也包含很多的高階抽象和物理模型,在積分、差值、信號處理等。

StatsModels

StatsModels 包含了許多的統計模型,線性模型、廣義線性模型、方差分析、時間序列(Pandas 也可以做,因爲 StatsModels 又依賴於 Pandas)和線性混合效用模型等,在統計方面有其獨特的優勢。

後記

對於 Python 的數據分析庫,我不得不說,他們之間真的是緊密的聯繫在了一起,往往官網也都是相互有鏈接索引,互相推薦,真的是抱團取暖呀。並且他們之間有些功能還略有重複,但又各有側重,對於這一點,這也是難免的,因爲數據分析一些基礎的操作都是一致的,哪一個庫又都不可能把那些基礎的功能屏蔽掉。對我們來說,我們往往是都需要有一定的瞭解,在不同的工作或任務中,使用不同的工具庫。

對於學習步驟,我的建議是先看看三大支柱(NumPy、Pandas 和 Matplotlib)的文檔,學會基本使用後,具體的 API 以後的學習過程中慢慢去掌握。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章