Listă recapitulativă NumPy
NumPy este o extensie de calcul numeric open-source pentru Python. Acest instrument poate fi utilizat pentru a stoca și procesa matrici mari, fiind mult mai eficient decât structura de liste imbricate (nested list) a Python (care poate fi, de asemenea, utilizată pentru a reprezenta matrici).
Explicație
Utilizați arr pentru a reprezenta un obiect de tip vector NumPy.
Importarea modulelor
import numpy as npImport/Export
| np.loadtxt(‘file.txt’) | Citire din fișier text |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Citire din fișier CSV |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | Scriere în fișier text |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | Scriere în fișier CSV |
Crearea vectorilor
| np.array([1,2,3]) | Vector unidimensional |
| np.array([(1,2,3),(4,5,6)]) | Matrice bidimensională |
| np.zeros(3) | Vector unidimensional de lungime 3 cu zero |
| np.ones((3,4)) | Matrice 3x4 cu toate valorile 1 |
| np.eye(5) | Matrice identitate 5x5 (1 pe diagonală, restul 0) |
| np.linspace(0,100,6) | Vector cu 6 valori de la 0 la 100 |
| np.arange(0,10,3) | Vector de valori de la 0 la mai puțin de 10 cu pasul 3 (ex: [0,3,6,9]) |
| np.full((2,3),8) | Matrice 2x3 cu toate valorile 8 |
| np.random.rand(4,5) | Matrice 4x5 de numere reale aleatorii între 0-1 |
| np.random.rand(6,7)*100 | Matrice 6x7 de numere reale aleatorii între 0-100 |
| np.random.randint(5,size=(2,3)) | Matrice 2x3 cu numere întregi aleatorii între 0-4 |
Inspectarea proprietăților
| arr.size | Returnează numărul total de elemente din vector |
| arr.shape | Returnează dimensiunile vectorului |
| arr.dtype | Returnează tipul elementelor din vector |
| arr.astype(dtype) | Convertește tipul elementelor vectorului în dtype |
| arr.tolist() | Convertește vectorul într-o listă |
| np.info(np.eye) | Vizualizează documentația pentru np.eye |
Copiere/Sortare/Redimensionare
| np.copy(arr) | Copiază arr într-o nouă zonă de memorie |
| arr.view(dtype) | Creează o vizualizare a elementelor arr cu tipul dtype |
| arr.sort() | Sortează arr |
| arr.sort(axis=0) | Sortează o axă specifică a lui arr |
| two_d_arr.flatten() | Transformă matricea 2D two_d_arr în una 1D |
| arr.T | Transpune arr (rândurile devin coloane și invers) |
| arr.reshape(3,4) | Schimbă forma lui arr la 3 rânduri, 4 coloane fără a modifica datele |
| arr.resize((5,6)) | Schimbă forma lui arr la 5x6 și completează noile valori cu 0 |
Adăugare/Ștergere elemente
| np.append(arr,values) | Adaugă values la sfârșitul lui arr |
| np.insert(arr,2,values) | Inserează values în arr înainte de indexul 2 |
| np.delete(arr,3,axis=0) | Șterge rândul de la indexul 3 al lui arr |
| np.delete(arr,4,axis=1) | Șterge coloana de la indexul 4 al lui arr |
Combinare/Divizare
| np.concatenate((arr1,arr2),axis=0) | Adaugă arr2 ca rânduri la sfârșitul lui arr1 |
| np.concatenate((arr1,arr2),axis=1) | Adaugă arr2 ca coloane la sfârșitul lui arr1 |
| np.split(arr,3) | Împarte arr în 3 sub-vectori |
| np.hsplit(arr,5) | Împarte arr orizontal la al 5-lea index |
Indexare/Slicing/Subsetting
| arr[5] | Returnează elementul de la indexul 5 |
| arr[2,5] | Returnează elementul matricei 2D de la indexul [2][5] |
| arr[1]=4 | Atribuie elementului vectorului de la indexul 1 valoarea 4 |
| arr[1,3]=10 | Atribuie elementului matricei de la indexul [1][3] valoarea 10 |
| arr[0:3] | Returnează elementele de la indicii 0,1,2 (În 2D: returnează rândurile 0,1,2) |
| arr[0:3,4] | Returnează elementele rândurilor 0,1,2 de la coloana 4 |
| arr[:2] | Returnează elementele de la indicii 0,1 (În 2D: returnează rândurile 0,1) |
| arr[:,1] | Returnează elementele de la indexul 1 pe toate rândurile |
| arr<5 | Returnează un vector cu valori booleene |
| (arr1<3) & (arr2>5) | Returnează un vector cu valori booleene |
| ~arr | Inversează un vector boolean |
| arr[arr<5] | Returnează elementele vectorului mai mici decât 5 |
Matematică scalară
| np.add(arr,1) | Adaugă 1 la fiecare element al vectorului |
| np.subtract(arr,2) | Scade 2 din fiecare element al vectorului |
| np.multiply(arr,3) | Înmulțește fiecare element al vectorului cu 3 |
| np.divide(arr,4) | Împarte fiecare element la 4 (returnează np.nan pentru împărțirea la zero) |
| np.power(arr,5) | Ridică fiecare element al vectorului la puterea a 5-a |
Matematică vectorială
| np.add(arr1,arr2) | Adună element cu element arr2 la arr1 |
| np.subtract(arr1,arr2) | Scade element cu element arr2 din arr1 |
| np.multiply(arr1,arr2) | Înmulțește element cu element arr1 cu arr2 |
| np.divide(arr1,arr2) | Împarte element cu element arr1 la arr2 |
| np.power(arr1,arr2) | Ridică element cu element arr1 la puterea arr2 |
| np.array_equal(arr1,arr2) | Returnează True dacă vectorii au aceleași elemente și aceeași formă |
| np.sqrt(arr) | Rădăcina pătrată a fiecărui element din vector |
| np.sin(arr) | Sinusul fiecărui element din vector |
| np.log(arr) | Logaritmul natural al fiecărui element din vector |
| np.abs(arr) | Valoarea absolută a fiecărui element din vector |
| np.ceil(arr) | Rotunjește prin adaos la cel mai apropiat întreg |
| np.floor(arr) | Rotunjește prin lipsă la cel mai apropiat întreg |
| np.round(arr) | Rotunjește la cel mai apropiat întreg |
Statistici
| np.mean(arr,axis=0) | Returnează media pe o axă specifică |
| arr.sum() | Returnează suma elementelor din arr |
| arr.min() | Returnează valoarea minimă din arr |
| arr.max(axis=0) | Returnează valoarea maximă a unei axe specifice |
| np.var(arr) | Returnează dispersia vectorului |
| np.std(arr,axis=1) | Returnează abaterea standard a unei axe specifice |
| arr.corrcoef() | Returnează coeficientul de corelație al vectorului |