1. 程式人生 > >簡述Python的Numpy,SciPy和Pandas,Matplotlib的區別

簡述Python的Numpy,SciPy和Pandas,Matplotlib的區別

Numpy: 基礎的數學計算模組,以矩陣為主,純數學

SciPy: 基於Numpy,提供方法(函式庫)直接計算結果,封裝了一些高階抽象和物理模型。比方說做個傅立葉變換,這是純數學的,用Numpy;做個濾波器,這屬於訊號處理模型了,在Scipy裡找。

Pandas: 提供了一套名為DataFrame的資料結構,適合統計分析中的表結構,在上層做資料分析,

更簡潔的說:

NumPy:N維陣列容器

SciPy:科學計算函式庫

Pandas:表格容器

非數學研究,建議直接入手pandas,包含基礎的Numpy方法

Numpy:

來儲存和處理大型矩陣,比Python自身的巢狀列表(nested list structure)結構要高效的多,本身是由C語言開發。

這個是很基礎的擴充套件,其餘的擴充套件都是以此為基礎。資料結構為ndarray,一般有三種方式來建立。

Pandas:

基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。最具有統計意味的工具包,某些方面優於R軟體。資料結構有一維的Series,二維的DataFrame(類似於Excel或者SQL中的表,如果深入學習,會發現Pandas和SQL相似的地方很多,例如merge函式),三維的Panel(Pan(el) + da(ta) + s,知道名字的由來了吧)。

學習Pandas你要掌握的是:
1.彙總和計算描述統計,處理缺失資料 ,層次化索引
2.清理、轉換、合併、重塑、GroupBy技術
3.日期和時間資料型別及工具(日期處理方便地飛起)

Matplotlib:

Python中最著名的繪圖系統,很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。
繪製的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的複雜給其帶來了很強的定製性。其具有面向物件的方式及Pyplot的經典高層封裝。

需要掌握的是:
1.散點圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪製。
2.繪圖的三大系統:pyplot,pylab(不推薦),面向物件
3.座標軸的調整,新增文字註釋,區域填充,及特殊圖形patches的使用
4.金融的同學注意的是:可以直接呼叫Yahoo財經資料繪圖

Scipy:

方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模組,傅立葉變換,訊號和影象處理,常微分方程求解器等等。基本可以代替Matlab,但是使用的話和資料處理的關係不大,數學系,或者工程系相對用的多一些。
近期發現有個statsmodel可以補充scipy.stats,時間序列支援完美
作者:Clemente
連結:https://www.jianshu.com/p/32cb09d84487
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。