App下載

Python SciPy是什么?和Numpy、Pandas、Matplotlib 有什么區(qū)別?

W3Cschool 2021-08-07 14:53:51 瀏覽數(shù) (5288)
反饋

一、什么是 SciPy ?

SciPy 是一款開(kāi)源、方便、專為科學(xué)和工程設(shè)計(jì)的 Python 工具包.它包括統(tǒng)計(jì),優(yōu)化,整合,線性代數(shù)模塊,傅里葉變換,信號(hào)和圖像處理,常微分方程求解器等等。

SciPy 是建立在 Python 的 NumPy 擴(kuò)展之上的數(shù)學(xué)算法和便利函數(shù)的集合。它通過(guò)為用戶提供用于操作和可視化數(shù)據(jù)的高級(jí)命令和類,為交互式 Python 會(huì)話增加了顯著的功能。借助 SciPy,交互式 Python 會(huì)話成為數(shù)據(jù)處理和系統(tǒng)原型設(shè)計(jì)環(huán)境,可與 MATLAB、IDL、Octave、R-Lab 和 SciLab 等系統(tǒng)相媲美。

scipyshiny_small

基于 Python 的 SciPy 的另一個(gè)好處是,這也使強(qiáng)大的編程語(yǔ)言可用于開(kāi)發(fā)復(fù)雜的程序和專門的應(yīng)用程序。使用 SciPy 的科學(xué)應(yīng)用程序受益于世界各地的開(kāi)發(fā)人員在軟件領(lǐng)域的眾多領(lǐng)域開(kāi)發(fā)的附加模塊。從并行編程到 Web 和數(shù)據(jù)庫(kù)子例程和類,Python 程序員都可以使用。除了 SciPy 中的數(shù)學(xué)庫(kù)之外,所有這些功能都可用。

python -m pip install -i https://mirrors.aliyun.com/pypi/simple/ --user numpy scipy matplotlib ipython jupyter pandas sympy nose

建議下載阿里云的鏡像,國(guó)外的太卡了,會(huì)安裝失敗的(下載包含 matplalib

二、什么是 NumPy ?

NumPy(Numerical Python) 是 Python 語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù),支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。

Numerical Python

NumPy 通常與 SciPy(Scientific Python)和 Matplotlib(繪圖庫(kù))一起使用, 這種組合廣泛用于替代 MatLab,是一個(gè)強(qiáng)大的科學(xué)計(jì)算環(huán)境,有助于我們通過(guò) Python 學(xué)習(xí)數(shù)據(jù)科學(xué)或者機(jī)器學(xué)習(xí)。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

建議使用國(guó)內(nèi)的源下載,pip默認(rèn)國(guó)外的源,安裝特別慢

三、什么是 Pandas?

Pandas 是基于 NumPy 的一種工具,為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,是一個(gè)開(kāi)源的 python 庫(kù)。

Pandas

Pandas 納入了大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。 最具有統(tǒng)計(jì)意味的工具包,某些方面優(yōu)于R軟件。

數(shù)據(jù)結(jié)構(gòu)有一維的Series,二維的 DataFrame (類似于 Excel 或者 SQL 中的表,如果深入學(xué)習(xí),會(huì)發(fā)現(xiàn) Pandas 和 SQL 相似的地方很多,例如 merge 函數(shù)),三維的 Panel (Pan(el) + da(ta) + s)。

pip install pandas

學(xué)習(xí) Pandas 需要掌握:

  1. 匯總和計(jì)算描述統(tǒng)計(jì),處理缺失數(shù)據(jù) ,層次化索引
  2. 清理、轉(zhuǎn)換、合并、重塑、GroupBy 技術(shù)
  3. 日期和時(shí)間數(shù)據(jù)類型及工具(日期處理方便地飛起)

四、什么是 Matplotlib ?

Matplotlib 是 Python 編程語(yǔ)言及其數(shù)值數(shù)學(xué)擴(kuò)展包 NumPy 的可視化操作界面。它為利用通用的圖形用戶界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向應(yīng)用程序嵌入式繪圖提供了應(yīng)用程序接口(API)。

Matplotlib

Python 中最著名的繪圖系統(tǒng),很多其他的繪圖例如 seaborn(針對(duì) pandas 繪圖而來(lái))也是由其封裝而成。 繪制的圖形可以大致按照 ggplot 的顏色顯示,但是還是感覺(jué)很雞肋。但是 matplotlib 的復(fù)雜給其帶來(lái)了很強(qiáng)的定制性。其具有面向?qū)ο蟮姆绞郊?Pyplot 的經(jīng)典高層封裝。

學(xué)習(xí) Matplotlib 需要掌握:

  1. 散點(diǎn)圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪制。
  2. 繪圖的三大系統(tǒng):pyplot,pylab(不推薦),面向?qū)ο?/li>
  3. 坐標(biāo)軸的調(diào)整,添加文字注釋,區(qū)域填充,及特殊圖形 patches 的使用
  4. 金融的同學(xué)注意的是:可以直接調(diào)用 Yahoo 財(cái)經(jīng)數(shù)據(jù)繪圖

五、區(qū)別

  • Numpy:基礎(chǔ)的數(shù)學(xué)計(jì)算模塊,以矩陣為主,純數(shù)學(xué);

  • SciPy:基于 Numpy,提供方法(函數(shù)庫(kù))直接計(jì)算結(jié)果,封裝了一些高階抽象和物理模型。比方說(shuō)做個(gè)傅立葉變換,這是純數(shù)學(xué)的,用 Numpy;做個(gè)濾波器,這屬于信號(hào)處理模型了,在 Scipy 里找;

  • Pandas:提供了一套名為 DataFrame 的數(shù)據(jù)結(jié)構(gòu),適合統(tǒng)計(jì)分析中的表結(jié)構(gòu),在上層做數(shù)據(jù)分析。

更簡(jiǎn)潔的說(shuō):

  • NumPy:N 維數(shù)組容器

  • SciPy:科學(xué)計(jì)算函數(shù)庫(kù)

  • Pandas:表格容器

非數(shù)學(xué)研究,建議直接入手 pandas,包含基礎(chǔ)的 Numpy 方法

以上就是編程獅(w3cschool.cn)為你整理的《Python SciPy是什么?和Numpy、Pandas、Matplotlib 有什么區(qū)別?》,希望幫到正在學(xué)習(xí) Python 的你,更多技術(shù)干貨請(qǐng)關(guān)注W3C技術(shù)頭條!

1 人點(diǎn)贊