Numpy: 基礎的數學計算模塊,以矩陣為主,純數學。
SciPy: 基于Numpy,提供方法(函數庫)直接計算結果,封裝了一些高階抽象和物理模型。比方說做個傅立葉變換,這是純數學的,用Numpy;做個濾波器,這屬于信號處理模型了,在Scipy里找。
Pandas: 提供了一套名為DataFrame的數據結構,適合統(tǒng)計分析中的表結構,在上層做數據分析,
更簡潔的說:
NumPy:N維數組容器
SciPy:科學計算函數庫
Pandas:表格容器
非數學研究,建議直接入手pandas,包含基礎的Numpy方法
Numpy:
來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多,本身是由C語言開發(fā)。這個是很基礎的擴展,其余的擴展都是以此為基礎。數據結構為ndarray,一般有三種方式來創(chuàng)建。
Pandas:
基于NumPy 的一種工具,該工具是為了解決數據分析任務而創(chuàng)建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。最具有統(tǒng)計意味的工具包,某些方面優(yōu)于R軟件。數據結構有一維的Series,二維的DataFrame(類似于Excel或者SQL中的表,如果深入學習,會發(fā)現Pandas和SQL相似的地方很多,例如merge函數),三維的Panel(Pan(el) + da(ta) + s,知道名字的由來了吧)。
學習Pandas你要掌握的是:
1.匯總和計算描述統(tǒng)計,處理缺失數據 ,層次化索引
2.清理、轉換、合并、重塑、GroupBy技術
3.日期和時間數據類型及工具(日期處理方便地飛起)
Matplotlib:
Python中最著名的繪圖系統(tǒng),很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。
繪制的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的復雜給其帶來了很強的定制性。其具有面向對象的方式及Pyplot的經典高層封裝。
需要掌握的是:
1.散點圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪制。
2.繪圖的三大系統(tǒng):pyplot,pylab(不推薦),面向對象
3.坐標軸的調整,添加文字注釋,區(qū)域填充,及特殊圖形patches的使用
4.金融的同學注意的是:可以直接調用Yahoo財經數據繪圖
Scipy:
方便、易于使用、專為科學和工程設計的Python工具包.它包括統(tǒng)計,優(yōu)化,整合,線性代數模塊,傅里葉變換,信號和圖像處理,常微分方程求解器等等。基本可以代替Matlab,但是使用的話和數據處理的關系不大,數學系,或者工程系相對用的多一些。
近期發(fā)現有個statsmodel可以補充scipy.stats,時間序列支持完美