Python NumPy教程

numpy教程NumPy是Python中科學(xué)計(jì)算的基礎(chǔ)包。它是一個(gè)Python庫(kù),提供多維數(shù)組對(duì)象,各種派生對(duì)象(如掩碼數(shù)組和矩陣),以及用于數(shù)組快速操作的各種API,有包括數(shù)學(xué)、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅立葉變換、基本線性代數(shù),基本統(tǒng)計(jì)運(yùn)算和隨機(jī)模擬等等。

NumPy 的前身 Numeric 最早是由 Jim Hugunin 與其它協(xié)作者共同開(kāi)發(fā),2005 年,Travis Oliphant 在 Numeric 中結(jié)合了另一個(gè)同性質(zhì)的程序庫(kù) Numarray 的特色,并加入了其它擴(kuò)展而開(kāi)發(fā)了 NumPy。NumPy 為開(kāi)放源代碼并且由許多協(xié)作者共同維護(hù)開(kāi)發(fā)。

NumPy包的核心是 ndarray 對(duì)象。它封裝了python原生的同數(shù)據(jù)類型的 n 維數(shù)組,為了保證其性能優(yōu)良,其中有許多操作都是代碼在本地進(jìn)行編譯后執(zhí)行的。

NumPy數(shù)組 和 原生Python Array(數(shù)組)之間有幾個(gè)重要的區(qū)別:

NumPy 數(shù)組在創(chuàng)建時(shí)具有固定的大小,與Python的原生數(shù)組對(duì)象不同,更改ndarray的大小將創(chuàng)建一個(gè)新數(shù)組并刪除原來(lái)的數(shù)組。NumPy 數(shù)組元素需具有相同的數(shù)據(jù)類型,因此在內(nèi)存中的大小相同。NumPy 數(shù)組有助于對(duì)大量數(shù)據(jù)進(jìn)行高級(jí)數(shù)學(xué)和其他類型的操作。通常,這些操作的執(zhí)行效率更高,比使用Python原生數(shù)組的代碼更少。越來(lái)越多的基于Python的科學(xué)和數(shù)學(xué)軟件包使用NumPy數(shù)組,但它們?cè)谔幚碇皶?huì)會(huì)將輸入的數(shù)組轉(zhuǎn)換為NumPy的數(shù)組。

在開(kāi)學(xué)習(xí) NumPy 教程之前,我們需要具備基本的 Python 基礎(chǔ),本網(wǎng)站推薦使用Python3.x版本,如果你對(duì) Python還不了解,可以閱讀我們的Python教程

為何使用 NumPy?

在 Python 中,我們有滿足數(shù)組功能的列表,但是處理起來(lái)很慢。NumPy 旨在提供一個(gè)比傳統(tǒng) Python 列表快 50 倍的數(shù)組對(duì)象。NumPy 中的數(shù)組對(duì)象稱為 ndarray,它提供了許多支持函數(shù),使得利用 ndarray 非常容易。數(shù)組在數(shù)據(jù)科學(xué)中非常常用,因?yàn)樗俣群唾Y源非常重要。數(shù)據(jù)科學(xué):計(jì)算機(jī)科學(xué)的一個(gè)分支,研究如何存儲(chǔ)、使用和分析數(shù)據(jù)以從中獲取信息。

為什么 NumPy 比列表快?

與列表不同,NumPy 數(shù)組存儲(chǔ)在內(nèi)存中的一個(gè)連續(xù)位置,因此進(jìn)程可以非常有效地訪問(wèn)和操縱它們。
這種行為在計(jì)算機(jī)科學(xué)中稱為引用的局部性。
這是 NumPy 比列表更快的主要原因。它還經(jīng)過(guò)了優(yōu)化,可與最新的 CPU 體系結(jié)構(gòu)一同使用。

NumPy 應(yīng)用

NumPy 通常與 SciPy一起使用,這種組合廣泛用于代替 MatLab,有助于我們通過(guò) Python 學(xué)習(xí)數(shù)據(jù)科學(xué)或者機(jī)器學(xué)習(xí)。SciPy 是一個(gè)開(kāi)源的 Python 算法庫(kù)和數(shù)學(xué)工具包。SciPy 包含的模塊有最優(yōu)化、線性代數(shù)、積分、插值、特殊函數(shù)、快速傅里葉變換、信號(hào)處理和圖像處理、常微分方程求解和其他科學(xué)與工程中常用的計(jì)算。Matplotlib 是 Python 編程語(yǔ)言及其數(shù)值數(shù)學(xué)擴(kuò)展包 NumPy 的可視化操作界面。它為利用通用的圖形用戶界面工具包。

相關(guān)資料

NumPy 官網(wǎng):http://www.numpy.orgNumPy 源代碼:https://github.com/numpy/numpySciPy 官網(wǎng):: https://www.scipy.orgSciPy 源代碼:: https://github.com/scipy/scipyMatplotlib 源代碼:: https://matplotlib.orgMatplotlib 源代碼:: https://github.com/matplotlib/matplotlib

Numpy的簡(jiǎn)單實(shí)例

# 1、安裝包
$ pip install numpy
# 2、進(jìn)入python的交互式界面
$ python -i
# 3、使用Numpy
>>> from numpy import *
>>> eye(4)
# 4、輸出結(jié)果
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清