简述 Python 的 Numpy、SciPy、Pandas、Matplotlib 的区别
?
From:https://www.jianshu.com/p/32cb09d84487
?
更簡潔的說:
?
非數(shù)學(xué)研究,建議直接入手 pandas,包含基礎(chǔ)的 Numpy 方法
?
Numpy:
來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結(jié)構(gòu)要高效的多,本身是由C語言開發(fā)。這個是很基礎(chǔ)的擴(kuò)展,其余的擴(kuò)展都是以此為基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)為ndarray,一般有三種方式來創(chuàng)建。
numpy 主要用來做一些科學(xué)運(yùn)算,主要是矩陣的運(yùn)算。NumPy為Python帶來了真正的多維數(shù)組功能,并且提供了豐富的函數(shù)庫處理這些數(shù)組。它將常用的數(shù)學(xué)函數(shù)都進(jìn)行數(shù)組化,使得這些數(shù)學(xué)函數(shù)能夠直接對數(shù)組進(jìn)行操作,將本來需要在Python級別進(jìn)行的循環(huán),放到C語言的運(yùn)算中,明顯地提高了程序的運(yùn)算速度。
?
Pandas:
基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas 納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。最具有統(tǒng)計意味的工具包,某些方面優(yōu)于R軟件。數(shù)據(jù)結(jié)構(gòu)有一維的Series,二維的DataFrame(類似于Excel或者SQL中的表,如果深入學(xué)習(xí),會發(fā)現(xiàn)Pandas和SQL相似的地方很多,例如merge函數(shù)),三維的Panel(Pan(el) + da(ta) + s,知道名字的由來了吧)。
學(xué)習(xí)Pandas你要掌握的是:
- 1.匯總和計算描述統(tǒng)計,處理缺失數(shù)據(jù) ,層次化索引
- 2.清理、轉(zhuǎn)換、合并、重塑、GroupBy技術(shù)
- 3.日期和時間數(shù)據(jù)類型及工具(日期處理方便地飛起)
?
Matplotlib:
Python中最著名的繪圖系統(tǒng),很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。
繪制的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的復(fù)雜給其帶來了很強(qiáng)的定制性。其具有面向?qū)ο蟮姆绞郊癙yplot的經(jīng)典高層封裝。
需要掌握的是:
- 1.散點(diǎn)圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪制。
- 2.繪圖的三大系統(tǒng):pyplot,pylab(不推薦),面向?qū)ο?/li>
- 3.坐標(biāo)軸的調(diào)整,添加文字注釋,區(qū)域填充,及特殊圖形patches的使用
- 4.金融的同學(xué)注意的是:可以直接調(diào)用Yahoo財經(jīng)數(shù)據(jù)繪圖
?
Scipy:
方便、易于使用、專為科學(xué)和工程設(shè)計的Python工具包.它包括統(tǒng)計,優(yōu)化,整合,線性代數(shù)模塊,傅里葉變換,信號和圖像處理,常微分方程求解器等等。基本可以代替Matlab,但是使用的話和數(shù)據(jù)處理的關(guān)系不大,數(shù)學(xué)系,或者工程系相對用的多一些。
近期發(fā)現(xiàn)有個statsmodel可以補(bǔ)充scipy.stats,時間序列支持完美
scipy 主要是一些科學(xué)工具集,信號處理工具集(如線性代數(shù)使用LAPACK庫,快速傅立葉變換使用FFTPACK庫)及數(shù)值計算的一些工具(常微分方程求解使用ODEPACK庫,非線性方程組求解以及最小值求解等)。
?
scikit-learn
scikit-learn:里面有很多機(jī)器學(xué)習(xí)相關(guān)的算法(如聚類算法,SVM等)。
?
?
用Python來編寫機(jī)器學(xué)習(xí)方面的代碼是相當(dāng)簡單的,因為Python下有很多關(guān)于機(jī)器學(xué)習(xí)的庫。其中三個庫 numpy,scipy,matplotlib,scikit-learn是常用組合,分別是科學(xué)計算包,科學(xué)工具集,畫圖工具包,機(jī)器學(xué)習(xí)工具集。
Python安裝完Numpy,SciPy和MatplotLib后,可以成為非常犀利的科研利器。網(wǎng)上關(guān)于這三個庫的安裝都寫得非常不錯,但是大部分人遇到的問題并不是如何安裝,而是安裝好后因為配置不當(dāng),在使用時總會出現(xiàn)import xxx error之類的錯誤。我也是自己摸索了很久才發(fā)現(xiàn)如何去正確配置的
詳解Python中的Numpy、SciPy、MatPlotLib安裝與配置:https://www.jb51.net/article/128468.htm
?
?
Numpy和Scipy是機(jī)器學(xué)習(xí)項目中最受歡迎的函數(shù)庫?
?
參考:http://www.sohu.com/a/291941853_506163
?
?
?
總結(jié)
以上是生活随笔為你收集整理的简述 Python 的 Numpy、SciPy、Pandas、Matplotlib 的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跳石板(详解)
- 下一篇: Source Insight 教程