NumPy Cheat Sheet
Sistemul NumPy este o extensie de calcul numeric open-source pentru Python. Acest instrument poate fi utilizat pentru a stoca și procesa matrice mari, fiind mult mai eficient decât structura proprie de liste imbricate a Python (care poate fi utilizată, de asemenea, pentru a reprezenta matrice).
Explicație
Utilizați arr pentru a reprezenta un obiect array numpy.
Import modul
import numpy as npImport/Export
| np.loadtxt(‘file.txt’) | Citiți dintr-un fișier text |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Citiți dintr-un fișier CSV |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | Scrieți într-un fișier text |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | Scrieți într-un fișier CSV |
Creare array
| np.array([1,2,3]) | Array 1D |
| np.array([(1,2,3),(4,5,6)]) | Array 2D |
| np.zeros(3) | Array 1D de lungime 3 cu zerouri |
| np.ones((3,4)) | Array 3x4 cu toate valorile 1 |
| np.eye(5) | Array 5x5 cu 1 pe diagonală și 0 în rest (matrice identitate) |
| np.linspace(0,100,6) | Array de 6 valori distanțate uniform de la 0 la 100 |
| np.arange(0,10,3) | Array de valori de la 0 la mai puțin de 10 cu pasul 3 (ex. [0,3,6,9]) |
| np.full((2,3),8) | Array 2x3 cu toate valorile 8 |
| np.random.rand(4,5) | Array 4x5 de numere zecimale aleatorii între 0 și 1 |
| np.random.rand(6,7)*100 | Array 6x7 de numere zecimale aleatorii între 0 și 100 |
| np.random.randint(5,size=(2,3)) | Array 2x3 cu numere întregi aleatorii între 0 și 4 |
Inspectare proprietăți
| arr.size | Returnează numărul total de elemente din array |
| arr.shape | Returnează dimensiunile array-ului |
| arr.dtype | Returnează tipul elementelor din array |
| arr.astype(dtype) | Convertește tipul elementelor array-ului în dtype |
| arr.tolist() | Convertește array-ul într-o listă |
| np.info(np.eye) | Vizualizați documentația pentru np.eye |
Copiere/Sortare/Redimensionare
| np.copy(arr) | Copiază arr în memorie nouă |
| 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 arr |
| two_d_arr.flatten() | Aplatizează un array 2D în 1D |
| arr.T | Transpune arr (rândurile devin coloane și invers) |
| arr.reshape(3,4) | Redimensionează arr la 3 rânduri și 4 coloane fără a schimba datele |
| arr.resize((5,6)) | Schimbă forma arr în 5x6 și completează valorile noi cu 0 |
Adăugare/Ștergere elemente
| np.append(arr,values) | Adaugă valori la sfârșitul arr |
| np.insert(arr,2,values) | Inserează valori în arr înainte de indexul 2 |
| np.delete(arr,3,axis=0) | Șterge rândul de la indexul 3 din arr |
| np.delete(arr,4,axis=1) | Șterge coloana de la indexul 4 din arr |
Combinare/Divizare
| np.concatenate((arr1,arr2),axis=0) | Adaugă arr2 ca rânduri la sfârșitul arr1 |
| np.concatenate((arr1,arr2),axis=1) | Adaugă arr2 ca coloane la sfârșitul arr1 |
| np.split(arr,3) | Divide arr în 3 sub-array-uri |
| np.hsplit(arr,5) | Divide arr orizontal la al 5-lea index |
Indexare/Slicing/Construire submulțimi
| arr[5] | Returnează elementul de la indexul 5 |
| arr[2,5] | Returnează elementul array-ului 2D de la indexul [2][5] |
| arr[1]=4 | Atribuie elementului array-ului de la indexul 1 valoarea 4 |
| arr[1,3]=10 | Atribuie elementului array-ului de la indexul [1][3] valoarea 10 |
| arr[0:3] | Returnează elementele de la indicii 0,1,2 (Pe un array 2D: returnează rândurile 0,1,2) |
| arr[0:3,4] | Returnează elementele de pe rândurile 0,1,2 de la coloana 4 |
| arr[:2] | Returnează elementele de la indicii 0,1 (Pe un array 2D: returnează rândurile 0,1) |
| arr[:,1] | Returnează elementele de la indexul 1 de pe toate rândurile |
| arr<5 | Returnează un array cu valori booleene |
| (arr1<3) & (arr2>5) | Returnează un array cu valori booleene |
| ~arr | Inversează un array boolean |
| arr[arr<5] | Returnează elementele array-ului mai mici de 5 |
Matematică scalară
| np.add(arr,1) | Adaugă 1 la fiecare element al array-ului |
| np.subtract(arr,2) | Scade 2 din fiecare element al array-ului |
| np.multiply(arr,3) | Înmulțește fiecare element al array-ului cu 3 |
| np.divide(arr,4) | Împarte fiecare element al array-ului la 4 (returnează np.nan pentru împărțire la zero) |
| np.power(arr,5) | Ridică fiecare element al array-ului la puterea a 5-a |
Matematică vectorială
| np.add(arr1,arr2) | Adunare element cu element a arr2 la arr1 |
| np.subtract(arr1,arr2) | Scădere element cu element a arr2 din arr1 |
| np.multiply(arr1,arr2) | Înmulțire element cu element a arr1 cu arr2 |
| np.divide(arr1,arr2) | Împărțire element cu element a arr1 la arr2 |
| np.power(arr1,arr2) | Ridicare element cu element a arr1 la puterea arr2 |
| np.array_equal(arr1,arr2) | Returnează True dacă array-urile au aceleași elemente și aceeași formă |
| np.sqrt(arr) | Rădăcina pătrată a fiecărui element din array |
| np.sin(arr) | Sinusul fiecărui element din array |
| np.log(arr) | Logaritmul natural al fiecărui element din array |
| np.abs(arr) | Valoarea absolută a fiecărui element din array |
| np.ceil(arr) | Rotunjește în sus la cel mai apropiat întreg |
| np.floor(arr) | Rotunjește în jos la cel mai apropiat întreg |
| np.round(arr) | Rotunjește la cel mai apropiat întreg |
Statistici
| np.mean(arr,axis=0) | Returnează media de-a lungul unei axe specifice |
| arr.sum() | Returnează suma arr |
| arr.min() | Returnează valoarea minimă a arr |
| arr.max(axis=0) | Returnează valoarea maximă a unei axe specifice |
| np.var(arr) | Returnează varianța array-ului |
| np.std(arr,axis=1) | Returnează deviația standard a unei axe specifice |
| arr.corrcoef() | Returnează coeficientul de corelație al array-ului |