簡述 Python 的 Numpy、SciPy、Pandas、Matplotlib 的區別
From:https://www.jianshu.com/p/32cb09d84487
- Numpy:基礎的數學計算模組,以矩陣為主,純數學。
- SciPy:基於Numpy,提供方法(函式庫)直接計算結果,封裝了一些高階抽象和物理模型。比方說做個傅立葉變換,這是純數學的,用Numpy;做個濾波器,這屬於訊號處理模型了,在Scipy裡找。
- Pandas:提供了一套名為DataFrame的資料結構,適合統計分析中的表結構,在上層做資料分析,
更簡潔的說:
- NumPy:N維 陣列 容器
- SciPy:科學計算 函式庫
- Pandas:表格 容器
非數學研究,建議直接入手 pandas,包含基礎的 Numpy 方法
Numpy:
來儲存和處理大型矩陣,比Python自身的巢狀列表(nested list structure)結構要高效的多,本身是由C語言開發。這個是很基礎的擴充套件,其餘的擴充套件都是以此為基礎。資料結構為ndarray,一般有三種方式來建立。
numpy 主要用來做一些科學運算,主要是矩陣的運算。NumPy為Python帶來了真正的多維陣列功能,並且提供了豐富的函式庫處理這些陣列。它將常用的數學函式都進行陣列化,使得這些數學函式能夠直接對陣列進行操作,將本來需要在Python級別進行的迴圈,放到C語言的運算中,明顯地提高了程式的運算速度。
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,時間序列支援完美
scipy 主要是一些科學工具集,訊號處理工具集(如線性代數使用LAPACK庫,快速傅立葉變換使用FFTPACK庫)及數值計算的一些工具(常微分方程求解使用ODEPACK庫,非線性方程組求解以及最小值求解等)。
scikit-learn
scikit-learn:裡面有很多機器學習相關的演算法(如聚類演算法,SVM等)。
用Python來編寫機器學習方面的程式碼是相當簡單的,因為Python下有很多關於機器學習的庫。其中三個庫 numpy,scipy,matplotlib,scikit-learn是常用組合,分別是科學計算包,科學工具集,畫圖工具包,機器學習工具集。
Python安裝完Numpy,SciPy和MatplotLib後,可以成為非常犀利的科研利器。網上關於這三個庫的安裝都寫得非常不錯,但是大部分人遇到的問題並不是如何安裝,而是安裝好後因為配置不當,在使用時總會出現import xxx error之類的錯誤。我也是自己摸索了很久才發現如何去正確配置的
詳解Python中的Numpy、SciPy、MatPlotLib安裝與配置:https://www.jb51.net/article/128468.htm
Numpy和Scipy是機器學習專案中最受歡迎的函式庫
參考:http://www.sohu.com/a/291941853_506163
相關文章
- windows下python配置numpy、matplotlib、scipyWindowsPython
- Python中的Numpy、SciPy、MatPlotLib安裝與配置Python
- Python學習之Pandas和Numpy的區別!Python
- Python的Numpy庫簡述Python
- Python的Pandas庫簡述Python
- Python的Matplotlib庫簡述Python
- 【Python資料探勘課程】六.Numpy、Pandas和Matplotlib包基礎知識Python
- windows下python安裝Numpy和Scipy模組WindowsPython
- Python中Numpy及Matplotlib使用Python
- Python - Matplotlib and Numpy on Debian/UbuntuPythonUbuntu
- NumPy、SciPy 等Python包在Windows下的whl安裝包下載PythonWindows
- Numpy的Matplotlib視覺化視覺化
- numpy中dot與*的區別
- 簡述市場營銷與銷售的區別
- 基於Python的資料視覺化 matplotlib seaborn pandasPython視覺化
- python2.7 + numpy-1.6.1 + matplotlib-1.1.0Python
- 簡述箭頭函式和普通函式的區別函式
- 簡述遊戲APRU&ARPPU的區別和價值遊戲
- Python 利用pandas和matplotlib繪製餅圖Python
- Numpy中reshape和resize的區別
- python綜合學習四之Numpy和Pandas(下)Python
- Python+pandas+matplotlib視覺化案例一則Python視覺化
- Python 利用pandas 和 matplotlib繪製柱狀圖Python
- 簡述Spring容器與SpringMVC的容器的聯絡與區別SpringMVC
- python實踐系列之(一)安裝 python/pip/numpy/matplotlibPython
- Pandas中apply、applymap、map的區別APP
- 給深度學習入門者的Python快速教程 - Numpy和Matplotlib篇深度學習Python
- numpy、pandas常用函式功能函式
- Windows系統中安裝Python模組pip numpy matplotlibWindowsPython
- 淺述容器和容器映象的區別
- windows下解決numpy, scipy等庫安裝失敗的方法Windows
- CentOS 6.5下安裝NumPy、SciPy、Scikit-LearnCentOS
- 在Pandas中 SQL操作:SQLAlchemy和PyMySQL的區別MySql
- numpy的學習筆記\pandas學習筆記筆記
- [譯] 使用 NumPy 和 Pandas 進行 Python 式資料清理Python
- Python 利用pandas和matplotlib繪製柱狀折線圖Python
- Python資料分析與挖掘實戰(Pandas,Matplotlib常用方法)Python
- Numpy與Pandas學習網站學習網站