Stăpânirea NumPy: moduri de inițializare, operațiuni și funcții Ndarray
Publicat: 2021-01-05Numpy este un pachet Python care permite efectuarea de operațiuni matematice și numerice cu funcționalitate abstractă și de înaltă eficiență pe date cu dimensiuni mari. În timp ce construiți o soluție de învățare automată pentru un anumit caz de utilizare în afaceri, devine foarte important să transformați datele în așa fel încât preprocesarea să devină ușoară, iar rezultatele să fie interpretabile. Numpy este biblioteca de bază care face posibilă îndeplinirea tuturor funcțiilor aferente în cel mai bun mod posibil.
Cuprins
De ce NumPy?
Alte biblioteci Data Science, cum ar fi Pandas, Matplotlib și Scikit-learn, sunt construite pe lângă Numpy datorită naturii sale de înaltă performanță. Această bibliotecă oferă ndarray care este folosit în locul listelor Python încorporate. Lista Python este excelentă pentru a stoca valori, dar vine cu prețul unui timp de execuție crescut, deoarece stochează indicatorii locațiilor de memorie, ceea ce adaugă supraîncărcare în termeni de memorie și execuție.
Numpy își găsește utilizarea directă în domeniul procesării imaginilor, unde imaginile sunt procesate ca matrici multidimensionale înalte pentru a efectua diverse transformări, cum ar fi estomparea, schimbarea culorii și detectarea obiectelor.
Să ne uităm la câteva funcții importante Numpy pe care fiecare aspirant la Data Science ar trebui să le cunoască, dar înainte de asta:
- Toate codurile de funcții de mai jos presupun că biblioteca a fost importată cu alias np, adică import numpy ca np.
- Termenul „matrice” va fi folosit pentru a defini ndarray după acest punct.
Diferite moduri de a inițializa
1. Distanțat liniar
Această funcție este menită să furnizeze o matrice liniară distanțată în intervalul de valori. Funcția np.linspace(start, stop, num) unde start și stop definesc intervalul de valori și num definesc numărul de mostre, returnează valori uniform distanțate, în timp ce np.arange(start, stop, step) returnează valori care diferă prin valorile pasului.
2. Valori particulare
În multe situații, este posibil să doriți să inițializați o matrice mare cu valori precum unu, zerouri, identitate sau valori constante. Dimensiunea matricei este transmisă ca un tuplu. Numpy facilitează acest lucru prin diferite funcții:
- np.zeros(size): Elementele sunt zero
- np.ones(size): Elementele sunt uni
- np.full(size, constant value): Elementele sunt transmise cu valoare constantă.
- np.eye(size): Elementele diagonale sunt una, iar restul sunt zero. Aceasta este matricea identității.
- np.empty(size): Matrice goală
- np.random.random(size): matricea de valori aleatoare este inițializată cu dimensiunea specificată.
Citiți: Întrebări de interviu Numpy
Operațiuni Ndarray
Scopul principal al acestei biblioteci este calculele eficiente între diferite matrice. Numpy acceptă aproape toate tipurile de operații și manipulări matematice care sunt aplicate în funcție de elemente. Unele dintre ele sunt enumerate mai jos (presupunem că două matrice A și B de aceeași dimensiune sunt inițializate cu valori aleatorii):
1. Matematică
- np.add(A, B): Adunare
- np.subtract(A, B): Scădere
- np.divide(A, B): Diviziune
- np.multiplicare(A, B): Înmulțire
- np.exp(A): Valori exponențiale
- np.sqrt(A): valori rădăcină pătrată
- np.sin(A), cos(A), tan(A): Valori trigonometrice
- np.log(A): Valori logaritmice
- np.percentile(A, percentila necesară, axă): La trecerea valorii percentilei, de exemplu, 50, funcția va returna a 50-a percentila a matricei.
- A.dot(B): returnează produsul punctual al matricelor
- A == B: Comparație în funcție de elemente
- np.array_equal(A, B): comparație înțeleaptă a matricei
- A.sum(): Suma tuturor elementelor
- A.min(), max(): valori minime și maxime
- A.cumsum(): Suma cumulativă a elementelor matricei
- A.corrcoef(): Coeficient de corelație
2. Manipulari
- np.transpose(A) sau AT: Transpunerea matricei
- A.ravel(): Aplatizează matricea
- A.reshape(new_shape): remodelează matricea (aici trece dimensiunea direct fără a o pune în tuplu). Noua dimensiune ar trebui să fie aceeași ca
- A.resize(size): schimbă forma matricei în orice formă și elimină alte elemente care nu fac parte din această nouă formă.
- np.concatenate((A,B), axa=1 sau 0)
- np.vstack((A,B)): stivuiți matricele pe verticală (în rânduri)
- np.hstack((A,B)): stivă orizontală
Verificați: Numpy vs Panda: Diferența dintre

Funcții diverse
- np.where(): Aceasta este o funcție esențială care elimină necesitatea instrucțiunilor if-else. Este nevoie de 3 argumente importante: condiție, valoarea dacă condiția este îndeplinită și valoarea dacă nu. Un exemplu simplu în acest sens poate fi atunci când trebuie să binarizați o coloană pe baza unui anumit prag.
- np.intersect1d(): Această funcție returnează intersecția a două tablouri 1-d. Aceasta înseamnă că valorile comune ale acestor matrice sunt returnate de această funcție. Dacă tablourile trecute nu sunt 1-d, atunci este aplatizat.
- np.allclose(): Este o funcție interesantă. Există situații în care vă puteți permite un anumit nivel de toleranță în timp ce comparați matrice sau doriți să descoperiți matrice similare. Această funcție preia matricele și valoarea de toleranță dorită. De exemplu:
- arr1 = np.array([1,2,3,4])
- arr2 = np.array([2,3,4,5])
- np.allclose(arr1, arr2, 0.5): va returna False
- np.allclose(arr1, arr2, 1): va returna True
- argmin(), argmax() și argsort(): După cum sugerează și numele, aceste funcții returnează indicii numelor respective. A.argmin() returnează indicele elementului minim, A.argmax() opusul, iar A.argsort() returnează indicii matricei sortate. Aceste funcții pot fi utile atunci când rezultatul depinde de index.
- np.clip(): Acesta este folosit pentru a converti valorile dintr-un anumit interval. De exemplu, dacă o matrice are valori de la 1 la 30 și doriți valori între 14 și 27 fără a pierde alte valori, această funcție va mări valorile mai mici de 19 la 19 și va reduce valorile mai mari de 27 la 27.
Concluzie
Există multe mai multe funcții în timp ce se operează pe matrice numpy, dar acestea sunt cele mai utilizate funcții. Operațiile aplicate pe coloanele sau seriale Pandas sunt de fapt pe ndarray, deoarece seria este ndarray unidimensională.
Numpy este un instrument excelent pentru generarea de date false pentru testarea anumitor algoritmi sau simularea unui scenariu. Este utilizat pe scară largă în aplicațiile de viziune computerizată în care imaginea este transformată în matrici multidimensionale pentru a efectua operațiunile necesare sau în învățarea profundă unde greutățile rețelei neuronale sunt deținute de aceste ndarrays.
Dacă sunteți curios să aflați despre știința datelor, consultați Diploma PG în știința datelor de la IIIT-B și upGrad, care este creată pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1- on-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.