App下載

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

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

一、什么是 SciPy ?

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

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

scipyshiny_small

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

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

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

二、什么是 NumPy ?

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

Numerical Python

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

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

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

三、什么是 Pandas?

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

Pandas

Pandas 納入了大量庫和一些標準的數(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)。

pip install pandas

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

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

四、什么是 Matplotlib ?

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

Matplotlib

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

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

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

五、區(qū)別

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

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

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

更簡潔的說:

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

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

  • Pandas:表格容器

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

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

1 人點贊