NumPy Spiekbriefje (Cheat Sheet)
Het NumPy-systeem is een open-source numerieke rekenextensie voor Python. Dit hulpmiddel kan worden gebruikt om grote matrices op te slaan en te verwerken, wat veel efficiënter is dan de ingebouwde geneste lijststructuur van Python (die ook kan worden gebruikt om matrices weer te geven).
Toelichting
Gebruik arr om een numpy array object te vertegenwoordigen.
Module Importeren
import numpy as npImporteren/Exporteren
| np.loadtxt(‘file.txt’) | Lezen uit tekstbestand |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Lezen uit CSV-bestand |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | Schrijven naar tekstbestand |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | Schrijven naar CSV-bestand |
Array maken
| np.array([1,2,3]) | 1D array |
| np.array([(1,2,3),(4,5,6)]) | 2D array |
| np.zeros(3) | 1D array met lengte 3 gevuld met nullen |
| np.ones((3,4)) | 3x4 array met alle waarden op 1 |
| np.eye(5) | 5x5 array met 1-en op de diagonaal en 0-en elders (eenheidsmatrix) |
| np.linspace(0,100,6) | Array met 6 gelijkmatig verdeelde waarden van 0 tot 100 |
| np.arange(0,10,3) | Array met waarden van 0 tot minder dan 10 met stap 3 (bijv. [0,3,6,9]) |
| np.full((2,3),8) | 2x3 array met alle waarden op 8 |
| np.random.rand(4,5) | 4x5 array van willekeurige floats tussen 0-1 |
| np.random.rand(6,7)*100 | 6x7 array van willekeurige floats tussen 0-100 |
| np.random.randint(5,size=(2,3)) | 2x3 array met willekeurige gehele getallen tussen 0-4 |
Eigenschappen Inspecteren
| arr.size | Retourneert het totale aantal array-elementen |
| arr.shape | Retourneert de dimensies van de array |
| arr.dtype | Retourneert het type elementen in de array |
| arr.astype(dtype) | Converteert het type van array-elementen naar dtype |
| arr.tolist() | Converteert de array naar een lijst |
| np.info(np.eye) | Bekijk documentatie voor np.eye |
Kopiëren/Sorteren/Hervormen
| np.copy(arr) | Kopieert arr naar nieuw geheugen |
| arr.view(dtype) | Maakt een weergave van arr-elementen met type dtype |
| arr.sort() | Sorteert arr |
| arr.sort(axis=0) | Sorteert specifieke as van arr |
| two_d_arr.flatten() | Vlakt 2D array two_d_arr af naar 1D |
| arr.T | Transponeert arr (rijen worden kolommen en omgekeerd) |
| arr.reshape(3,4) | Hervormt arr naar 3 rijen, 4 kolommen zonder gegevens te wijzigen |
| arr.resize((5,6)) | Wijzigt de vorm van arr naar 5x6 en vult nieuwe waarden met 0 |
Elementen Toevoegen/Verwijderen
| np.append(arr,values) | Voegt waarden toe aan het einde van arr |
| np.insert(arr,2,values) | Voegt waarden in arr in voor index 2 |
| np.delete(arr,3,axis=0) | Verwijdert rij op index 3 van arr |
| np.delete(arr,4,axis=1) | Verwijdert kolom op index 4 van arr |
Combineren/Splitsen
| np.concatenate((arr1,arr2),axis=0) | Voegt arr2 toe als rijen aan het einde van arr1 |
| np.concatenate((arr1,arr2),axis=1) | Voegt arr2 toe als kolommen aan het einde van arr1 |
| np.split(arr,3) | Splitst arr in 3 sub-arrays |
| np.hsplit(arr,5) | Splitst arr horizontaal op de 5e index |
Indexeren/Slicing/Subsets maken
| arr[5] | Retourneert het element op index 5 |
| arr[2,5] | Retourneert het 2D array element op index [2][5] |
| arr[1]=4 | Kent de waarde 4 toe aan array-element op index 1 |
| arr[1,3]=10 | Kent de waarde 10 toe aan array-element op index [1][3] |
| arr[0:3] | Retourneert de elementen op indices 0,1,2 (Op een 2D array: retourneert rijen 0,1,2) |
| arr[0:3,4] | Retourneert de elementen op rijen 0,1,2 in kolom 4 |
| arr[:2] | Retourneert de elementen op indices 0,1 (Op een 2D array: retourneert rijen 0,1) |
| arr[:,1] | Retourneert de elementen op index 1 van alle rijen |
| arr<5 | Retourneert een array met booleaanse waarden |
| (arr1<3) & (arr2>5) | Retourneert een array met booleaanse waarden |
| ~arr | Inverteert een booleaanse array |
| arr[arr<5] | Retourneert array-elementen kleiner dan 5 |
Scalaire Wiskunde
| np.add(arr,1) | Voeg 1 toe aan elk array-element |
| np.subtract(arr,2) | Trek 2 af van elk array-element |
| np.multiply(arr,3) | Vermenigvuldig elk array-element met 3 |
| np.divide(arr,4) | Deel elk array-element door 4 (retourneert np.nan voor deling door nul) |
| np.power(arr,5) | Verhef elk array-element tot de 5e macht |
Vectorwiskunde
| np.add(arr1,arr2) | Voeg arr2 elementsgewijs toe aan arr1 |
| np.subtract(arr1,arr2) | Trek arr2 elementsgewijs af van arr1 |
| np.multiply(arr1,arr2) | Vermenigvuldig arr1 elementsgewijs met arr2 |
| np.divide(arr1,arr2) | Deel arr1 elementsgewijs door arr2 |
| np.power(arr1,arr2) | Verhef arr1 elementsgewijs tot de macht van arr2 |
| np.array_equal(arr1,arr2) | Retourneert True als de arrays dezelfde elementen en vorm hebben |
| np.sqrt(arr) | Vierkantswortel van elk element in de array |
| np.sin(arr) | Sinus van elk element in de array |
| np.log(arr) | Natuurlijke logaritme van elk element in de array |
| np.abs(arr) | Absolute waarde van elk element in de array |
| np.ceil(arr) | Rondt naar boven af naar het dichtstbijzijnde gehele getal |
| np.floor(arr) | Rondt naar beneden af naar het dichtstbijzijnde gehele getal |
| np.round(arr) | Rondt af naar het dichtstbijzijnde gehele getal |
Statistieken
| np.mean(arr,axis=0) | Retourneert het gemiddelde langs een specifieke as |
| arr.sum() | Retourneert de som van arr |
| arr.min() | Retourneert de minimumwaarde van arr |
| arr.max(axis=0) | Retourneert de maximumwaarde van een specifieke as |
| np.var(arr) | Retourneert de variantie van de array |
| np.std(arr,axis=1) | Retourneert de standaarddeviatie van een specifieke as |
| arr.corrcoef() | Retourneert de correlatiecoëfficiënt van de array |