Python Tutorial NumPy pentru începători: învață cu exemple
În ce este NumPy Python?
NumPy este o bibliotecă open source disponibilă în Python, care ajută la programarea matematică, științifică, de inginerie și știința datelor. Este o bibliotecă foarte utilă pentru a efectua operații matematice și statistice Python. Funcționează perfect pentru matrice multidimensionale și multiplicare matrice. Este ușor de integrat cu C/C++ și Fortran.
Pentru orice proiect științific, NumPy este instrumentul de cunoaștere. A fost construit pentru a funcționa cu matrice N-dimensională, algebră liniară, număr aleator, transformată Fourier etc.
NumPy este un limbaj de programare care se ocupă cu matrice și matrice multidimensionale. Pe lângă matrice și matrice, NumPy acceptă un număr mare de operații matematice. În această parte, vom trece în revistă funcțiile esențiale pe care trebuie să le cunoașteți pentru tutorialul despre 'TensorFlow
De ce să folosiți NumPy?
NumPy este eficiența memoriei, ceea ce înseamnă că poate gestiona o cantitate mare de date mai accesibilă decât orice altă bibliotecă. În plus, NumPy este foarte convenabil de lucrat, în special pentru multiplicarea și remodelarea matricei. În plus, NumPy este rapid. De fapt, TensorFlow și Scikit învață să folosească matricea NumPy pentru a calcula înmulțirea matricei în back-end.
Cum se instalează NumPy
Pentru a instala biblioteca NumPy, consultați tutorialul nostru Cum se instalează TensorFlow. NumPy este instalat implicit cu Anaconda.
În cazul de la distanță, NumPy nu este instalat-
Puteți instala NumPy folosind Anaconda:
conda install -c anaconda numpy
- In Jupyter Caiet :
import sys !conda install --yes --prefix {sys.prefix} numpy
Importați NumPy și verificați versiunea
Comanda pentru a importa numpy este:
import numpy as np
Codul de mai sus redenumește spațiul de nume Numpy în np. Acest lucru ne permite să prefixăm funcția, metodele și atributele Numpy cu „np” în loc să tastăm „numpy”. Este scurtătura standard pe care o veți găsi în literatura numpy
Pentru a verifica versiunea instalată de NumPy, utilizați comanda de mai jos:
print (np.__version__)
ieșire:
1.18.0
Ce Este Python NumPy Array?
Matricele NumPy sunt un pic asemănătoare Python liste, dar totuși foarte diferite în același timp. Pentru aceia dintre voi care sunteți începători în acest subiect, să clarificăm ce este exact și la ce este bun.
După cum arată numele, o matrice NumPy este o structură de date centrală a bibliotecii numpy. Numele bibliotecii este de fapt prescurtarea pentru „Numeric Python” sau „Numeric Python".
Crearea unei matrice NumPy
Cel mai simplu mod de a crea o matrice în Numpy este utilizarea Python Listă
myPythonList = [1,9,8,3]
Pentru a converti lista Python într-o matrice numpy folosind obiectul np.array.
numpy_array_from_list = np.array(myPythonList)
Pentru a afișa conținutul listei
numpy_array_from_list
ieșire:
array([1, 9, 8, 3])
În practică, nu este necesară declararea a Python Listă. Operația poate fi combinată.
a = np.array([1,9,8,3])
NOTĂ: documentația Numpy indică utilizarea lui np.ndarray pentru a crea o matrice. Cu toate acestea, aceasta este metoda recomandată.
De asemenea, puteți crea o matrice numpy dintr-un tuplu.
Matematic Operape un Array
Puteți efectua operații matematice precum adunări, scăderi, împărțiri și înmulțiri pe o matrice. Sintaxa este numele tabloului urmat de operația (+.-,*,/) urmat de operand
Exemplu:
numpy_array_from_list + 10
ieșire:
array([11, 19, 18, 13])
Această operație adaugă 10 la fiecare element al matricei numpy.
Forma matricei
Puteți verifica forma matricei cu forma obiectului precedată de numele matricei. În același mod, puteți verifica tipul cu dtypes.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Un număr întreg este o valoare fără zecimală. Dacă creați o matrice cu zecimală, atunci tipul se va schimba în float.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
2 Dimension Array
Puteți adăuga o dimensiune cu „,”comă
Rețineți că trebuie să fie în paranteză []
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
3 Dimension Array
Dimensiunea superioară poate fi construită după cum urmează:
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
Obiectiv | Cod |
---|---|
Creați matrice | matrice([1,2,3]) |
imprimați forma | matrice([.]).formă |
Ce este numpy.zeros()?
numpy.zeros() sau np.zerouri Python funcția este folosită pentru a crea o matrice plină de zerouri. numpy.zeros() in Python poate fi folosit atunci când inițializați ponderile în timpul primei iterații în TensorFlow și alte sarcini statistice.
Funcția numpy.zeros() Sintaxă
numpy.zeros(shape, dtype=float, order='C')
Python numpy.zeros() Parametri
Aici,
- Modela: este forma matricei numpy zero
- Dtype: este tipul de date în zerouri numerice. Este optional. Valoarea implicită este float64
- Order: Implicit este C, care este un stil de rând esențial pentru numpy.zeros() în Python.
Python numpy.zeros() Exemplu
import numpy as np np.zeros((2,2))
ieșire:
array([[0., 0.], [0., 0.]])
Exemplu de numpy zero cu Datatype
import numpy as np np.zeros((2,2), dtype=np.int16)
ieșire:
array([[0, 0], [0, 0]], dtype=int16)
Ce este numpy.ones()?
funcția np.ones(). este folosit pentru a crea o matrice plină de unele. numpy.one() în Python poate fi folosit atunci când inițializați ponderile în timpul primei iterații în TensorFlow și alte sarcini statistice.
Python numpy.ones() Sintaxă
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() Parametri
Aici,
- Modela: este forma np.ones Python Mulțime
- Dtype: este tipul de date în numerele. Este optional. Valoarea implicită este float64
- Order: Implicit este C, care este un stil de rând esențial.
Python numpy.ones() Matrice 2D cu exemplu de tip de date
import numpy as np np.ones((1,2,3), dtype=np.int16)
ieșire:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
funcția numpy.reshape() în Python
Python NumPy Reshape funcția este folosită pentru a modela o matrice fără a-i modifica datele. În unele ocazii, poate fi necesar să remodelați datele de la lat la lung. Puteți utiliza funcția np.reshape pentru aceasta.
Sintaxa lui np.reshape()
numpy.reshape(a, newShape, order='C')
Aici,
a: Matrice pe care doriți să o remodelați
newShape: Noile dorințe se formează
Order: Implicit este C, care este un stil de rând esențial.
Exemplu de remodelare NumPy
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
ieșire:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.platten() in Python
Python NumPy Flatten funcția este utilizată pentru a returna o copie a matricei într-o singură dimensiune. Când aveți de-a face cu o rețea neuronală, cum ar fi convnet, trebuie să aplatizați matricea. Puteți utiliza funcțiile np.flatten() pentru aceasta.
Sintaxa lui np.flatten()
numpy.flatten(order='C')
Aici,
Order: Implicit este C, care este un stil de rând esențial.
Exemplu de NumPy Flatten
e.flatten()
ieșire:
array([1, 2, 3, 4, 5, 6])
Ce este numpy.hstack() în Python?
Numpy.hstack este o funcție în Python care este folosit pentru a stivui orizontal secvențe de matrice de intrare pentru a face o singură matrice. Cu funcția hstack(), puteți adăuga date orizontal. Este o funcție foarte convenabilă în NumPy.
Să studiem hstack in Python cu un exemplu:
Exemplu:
## Horitzontal Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Horizontal Append:', np.hstack((f, g)))
ieșire:
Horizontal Append: [1 2 3 4 5 6]
Ce este numpy.vstack() în Python?
Numpy.vstack este o funcție în Python care este folosit pentru a stivui vertical secvențe de matrice de intrare pentru a realiza o singură matrice. Cu funcția vstack(), puteți adăuga date pe verticală.
Să-l studiem cu un exemplu:
Exemplu:
## Vertical Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Vertical Append:', np.vstack((f, g)))
ieșire:
Vertical Append: [[1 2 3] [4 5 6]]
După ce am studiat NumPy vstack și hstack, să învățăm un exemplu pentru a genera numere aleatorii în NumPy.
Generați aleatoriu Numbers folosind NumPy
Pentru a genera numere aleatorii pentru distribuția Gauss, utilizați:
numpy.random.normal(loc, scale, size)
Aici,
- Loc: media. Centrul de distribuție
- Scară: deviație standard.
- Mărimea: numărul de returnări
Exemplu:
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Dacă este reprezentată grafic, distribuția va fi similară cu graficul următor
Funcția NumPy Asarray
Funcția asarray() este utilizată atunci când doriți să convertiți o intrare într-o matrice. Intrarea ar putea fi o listă, un tuplu, un ndarray etc.
Sintaxă:
numpy.asarray(data, dtype=None, order=None)[source]
Aici,
de date: Date pe care doriți să le convertiți într-o matrice
dtype: Acesta este un argument opțional. Dacă nu este specificat, tipul de date este dedus din datele de intrare
Order: Implicit este C, care este un stil de rând esențial. O altă opțiune este F (în stilul Fortan)
Exemplu:
Luați în considerare următoarea matrice 2-D cu patru rânduri și patru coloane completate cu 1
import numpy as np A = np.matrix(np.ones((4,4)))
Dacă doriți să schimbați valoarea matricei, nu puteți. Motivul este că nu este posibilă schimbarea unei copii.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
Matrix este imuabilă. Puteți utiliza asarray dacă doriți să adăugați modificări în matricea originală. Să vedem dacă apare vreo modificare atunci când doriți să modificați valoarea celui de-al treilea rând cu valoarea 2.
np.asarray(A)[2]=2 print(A)
Explicația codului:
np.asarray(A): convertește matricea A într-o matrice
[2]: selectați al treilea rând
ieșire:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
Ce este numpy.arange()?
numpy.arange() este o funcție numpy încorporată care returnează un obiect ndarray care conține valori uniform distanțate într-un interval definit. De exemplu, doriți să creați valori de la 1 la 10; puteți folosi np.arange() în Python Funcția.
Sintaxă:
numpy.arange(start, stop, step, dtype)
Python NumPy range Parametri:
- acasă: Începutul intervalului pentru np.arange in Python Funcția.
- Stop: Sfârșitul intervalului.
- Pas: Spațierea dintre valori. Pasul implicit este 1.
- Dtype: Este un tip de ieșire de matrice pentru gama NumPy în Python.
Exemplu:
import numpy np np.arange(1, 11)
ieșire:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Exemplu:
Dacă doriți să schimbați pasul din această funcție de aranjament NumPy în Python De exemplu, puteți adăuga un al treilea număr în paranteză. Va schimba pasul.
import numpy np np.arange(1, 14, 4)
ieșire:
array([ 1, 5, 9, 13])
Funcția NumPy Linspace
Linspace oferă mostre uniform distanțate.
Sintaxă:
numpy.linspace(start, stop, num, endpoint)
Aici,
- acasă: Valoarea de pornire a secvenței
- Stop: Valoarea finală a secvenței
- În: Numărul de mostre de generat. Implicit este 50
- Punct final: Dacă este adevărat (implicit), stop este ultima valoare. Dacă este fals, valoarea stop nu este inclusă.
Exemplu:
De exemplu, poate fi folosit pentru a crea 10 valori de la 1 la 5 la distanță uniformă.
import numpy as np np.linspace(1.0, 5.0, num=10)
ieșire:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Dacă nu doriți să includeți ultima cifră în interval, puteți seta punctul final la fals
np.linspace(1.0, 5.0, num=5, endpoint=False)
ieșire:
array([1. , 1.8, 2.6, 3.4, 4.2])
Funcția LogSpace NumPy în Python
LogSpace returnează numere spațiate chiar pe o scară logaritmică. Logspace are aceiași parametri ca np.linspace.
Sintaxă:
numpy.logspace(start, stop, num, endpoint)
Exemplu:
np.logspace(3.0, 4.0, num=4)
ieșire:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
În cele din urmă, dacă doriți să verificați dimensiunea memoriei unui element dintr-o matrice, puteți utiliza itemize
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
ieșire:
16
Fiecare element are 16 octeți.
Indexare și tăiere Python
Tăierea datelor este banală cu numpy. Vom tăia matricea „e”. Rețineți că, în Python, trebuie să utilizați paranteze pentru a returna rândurile sau coloanele
Exemplu:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Amintiți-vă, cu numpy, prima matrice/coloană începe la 0.
## First column print('First row:', e[0]) ## Second col print('Second row:', e[1])
ieșire:
First row: [1 2 3] Second row: [4 5 6]
In Python, ca multe alte limbi,
- Valorile înainte de virgulă reprezintă rânduri
- Valoarea drepturilor reprezintă coloane.
- Dacă doriți să selectați o coloană, trebuie să adăugați : înainte de indexul coloanei.
- : înseamnă că doriți toate rândurile din coloana selectată.
print('Second column:', e[:,1])
Second column: [2 5]
Pentru a returna primele două valori ale celui de-al doilea rând. Folosiți : pentru a selecta toate coloanele până la a doua
## Second Row, two values print(e[1, :2]) [4 5]
Funcții statistice în Python
NumPy are destul de multe funcții statistice utile pentru a găsi minim, maxim, abatere standard percentilă și varianță, etc din elementele date din matrice. Funcțiile sunt explicate după cum urmează −
Numpy este echipat cu funcția statistică robustă, așa cum este listată mai jos
Funcţie | NumPy |
---|---|
Min | np.min() |
max | np.max() |
medie | np.mean() |
Median | np.median() |
Deviația standard | np.std() |
Luați în considerare următoarea matrice:
Exemplu:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
ieșire:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Exemplu de funcție statistică NumPy
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
ieșire:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
Ce este produsul numpy dot?
Produs Numpy.dot este o bibliotecă puternică pentru calculul matricial. De exemplu, puteți calcula produsul punctual cu np.dot. Numpy.produsul punctual este produsul punctual al lui a și b. numpy.dot() în Python se ocupă de tablourile 2D și efectuează înmulțiri de matrice.
Sintaxă:
numpy.dot(x, y, out=None)
parametrii
Aici,
x, y: matrice de intrare. x și y ar trebui să fie ambele 1-D sau 2-D pentru ca funcția np.dot() să funcționeze
afară: Acesta este argumentul de ieșire pentru matricea scalară 1-D care urmează să fie returnată. În caz contrar, ndarray ar trebui returnat.
Returnări
Funcția numpy.dot() în Python returnează un produs scalar din două tablouri x și y. Funcția dot() returnează un scalar dacă ambii x și y sunt 1-D; în caz contrar, returnează o matrice. Dacă este dat „out”, atunci este returnat.
Raiseul
Punctați produsul în Python ridică o excepție ValueError dacă ultima dimensiune a lui x nu are aceeași dimensiune cu ultima dimensiune a lui y.
Exemplu:
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
ieșire:
14
Înmulțirea matricelor în Python
Funcția Numpy matmul() este utilizată pentru a returna produsul matriceal a 2 tablouri. Iată cum funcționează
1) Matrice 2-D, returnează produsul normal
2) Dimensiuni > 2, produsul este tratat ca o stivă de matrice
3) Matricea 1-D este mai întâi promovată la o matrice, apoi se calculează produsul
Sintaxă:
numpy.matmul(x, y, out=None)
Aici,
x, y: matrice de intrare. scalari nu sunt permisi
afară: Acesta este un parametru opțional. De obicei, ieșirea este stocată în ndarray
Exemplu:
În același mod, puteți calcula înmulțirea matricelor cu np.matmul
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
ieșire:
array([[19, 22], [43, 50]])
determinant
Nu în ultimul rând, dacă trebuie să calculați determinantul, puteți utiliza np.linalg.det(). Rețineți că numpy are grijă de dimensiune.
Exemplu:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
ieșire:
-2.000000000000005
Rezumat
- Python este o bibliotecă open source disponibilă în Python, care ajută la matematică, științifică, inginerie și programarea științei datelor.
- numpy.zeros() sau np.zeros Python funcția este folosită pentru a crea o matrice plină de zerouri.
- numpy.one() în Python poate fi folosit atunci când inițializați ponderile în timpul primei iterații în TensorFlow și alte sarcini statistice.
- Python Funcția NumPy Reshape este folosită pentru a modela o matrice fără a-i modifica datele.
- Python Funcția NumPy Flatten este utilizată pentru a returna o copie a matricei într-o singură dimensiune.
- Numpy.hstack este o funcție în Python care este folosit pentru a stivui orizontal secvențe de matrice de intrare pentru a face o singură matrice.
- Numpy.vstack este o funcție în Python care este folosit pentru a stivui vertical secvențe de matrice de intrare pentru a realiza o singură matrice.
- numpy.arange() este o funcție numpy încorporată care returnează un obiect ndarray care conține valori uniform distanțate într-un interval definit.
- Produsul Numpy.dot este o bibliotecă puternică pentru calculul matricial.
- Funcția Numpy matmul() este utilizată pentru a returna produsul matriceal a 2 tablouri.