NumPy Cheat Sheet
Das NumPy-System ist eine Open-Source-Erweiterung für numerische Berechnungen in Python. Dieses Werkzeug kann zum Speichern und Verarbeiten großer Matrizen verwendet werden, was viel effizienter ist als die Python-eigene verschachtelte Listenstruktur (die ebenfalls zur Darstellung von Matrizen verwendet werden kann).
Erläuterung
Verwenden Sie arr, um ein NumPy-Array-Objekt darzustellen.
Modul importieren
import numpy as npImport/Export
| np.loadtxt(‘file.txt’) | Aus Textdatei lesen |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Aus CSV-Datei lesen |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | In Textdatei schreiben |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | In CSV-Datei schreiben |
Array erstellen
| np.array([1,2,3]) | 1D-Array |
| np.array([(1,2,3),(4,5,6)]) | 2D-Array |
| np.zeros(3) | 1D-Array der Länge 3 mit Nullen |
| np.ones((3,4)) | 3x4-Array mit Einsen |
| np.eye(5) | 5x5-Array mit 1en auf der Diagonale und 0en ansonsten (Einheitsmatrix) |
| np.linspace(0,100,6) | Array mit 6 Werten gleichmäßig verteilt von 0 bis 100 |
| np.arange(0,10,3) | Array mit Werten von 0 bis weniger als 10 mit Schrittweite 3 (z. B. [0,3,6,9]) |
| np.full((2,3),8) | 2x3-Array mit dem Wert 8 |
| np.random.rand(4,5) | 4x5-Array mit zufälligen Floats zwischen 0-1 |
| np.random.rand(6,7)*100 | 6x7-Array mit zufälligen Floats zwischen 0-100 |
| np.random.randint(5,size=(2,3)) | 2x3-Array mit zufälligen Integern zwischen 0-4 |
Eigenschaften prüfen
| arr.size | Gibt die Gesamtzahl der Array-Elemente zurück |
| arr.shape | Gibt die Dimensionen des Arrays zurück |
| arr.dtype | Gibt den Datentyp der Elemente im Array zurück |
| arr.astype(dtype) | Konvertiert den Datentyp der Array-Elemente in dtype |
| arr.tolist() | Konvertiert das Array in eine Liste |
| np.info(np.eye) | Dokumentation für np.eye anzeigen |
Kopieren/Sortieren/Umformen
| np.copy(arr) | Kopiert arr in neuen Speicher |
| arr.view(dtype) | Erstellt eine View der arr-Elemente mit Typ dtype |
| arr.sort() | Sortiert arr |
| arr.sort(axis=0) | Sortiert eine bestimmte Achse von arr |
| two_d_arr.flatten() | Wandelt 2D-Array in 1D-Array um |
| arr.T | Transponiert arr (Zeilen werden zu Spalten und umgekehrt) |
| arr.reshape(3,4) | Ändert die Form von arr auf 3 Zeilen, 4 Spalten ohne Datenänderung |
| arr.resize((5,6)) | Ändert arr-Form auf 5x6 und füllt neue Werte mit 0 |
Elemente hinzufügen/entfernen
| np.append(arr,values) | Fügt Werte am Ende von arr hinzu |
| np.insert(arr,2,values) | Fügt Werte vor Index 2 in arr ein |
| np.delete(arr,3,axis=0) | Löscht Zeile bei Index 3 von arr |
| np.delete(arr,4,axis=1) | Löscht Spalte bei Index 4 von arr |
Kombinieren/Aufteilen
| np.concatenate((arr1,arr2),axis=0) | Fügt arr2 als Zeilen am Ende von arr1 hinzu |
| np.concatenate((arr1,arr2),axis=1) | Fügt arr2 als Spalten am Ende von arr1 hinzu |
| np.split(arr,3) | Teilt arr in 3 Sub-Arrays auf |
| np.hsplit(arr,5) | Teilt arr horizontal am 5. Index auf |
Indizierung/Slicing/Konstruktion von Teilmengen
| arr[5] | Gibt das Element bei Index 5 zurück |
| arr[2,5] | Gibt das 2D-Array-Element bei Index [2][5] zurück |
| arr[1]=4 | Weist dem Array-Element bei Index 1 den Wert 4 zu |
| arr[1,3]=10 | Weist dem Array-Element bei Index [1][3] den Wert 10 zu |
| arr[0:3] | Gibt die Elemente bei Index 0,1,2 zurück (Bei 2D: Zeilen 0,1,2) |
| arr[0:3,4] | Gibt die Elemente in Zeilen 0,1,2 bei Spalte 4 zurück |
| arr[:2] | Gibt die Elemente bei Index 0,1 zurück (Bei 2D: Zeilen 0,1) |
| arr[:,1] | Gibt die Elemente bei Index 1 für alle Zeilen zurück |
| arr<5 | Gibt ein Array mit booleschen Werten zurück |
| (arr1<3) & (arr2>5) | Gibt ein Array mit booleschen Werten zurück |
| ~arr | Invertiert ein boolesches Array |
| arr[arr<5] | Gibt Array-Elemente kleiner als 5 zurück |
Skalare Mathematik
| np.add(arr,1) | Addiert 1 zu jedem Array-Element |
| np.subtract(arr,2) | Subtrahiert 2 von jedem Array-Element |
| np.multiply(arr,3) | Multipliziert jedes Array-Element mit 3 |
| np.divide(arr,4) | Dividiert jedes Array-Element durch 4 (gibt np.nan bei Division durch Null zurück) |
| np.power(arr,5) | Erhöht jedes Array-Element hoch 5 |
Vektormathematik
| np.add(arr1,arr2) | Addiert arr2 elementweise zu arr1 |
| np.subtract(arr1,arr2) | Subtrahiert arr2 elementweise von arr1 |
| np.multiply(arr1,arr2) | Multipliziert arr1 elementweise mit arr2 |
| np.divide(arr1,arr2) | Dividiert arr1 elementweise durch arr2 |
| np.power(arr1,arr2) | Erhöht arr1 elementweise hoch arr2 |
| np.array_equal(arr1,arr2) | Gibt True zurück, wenn die Arrays dieselben Elemente und Form haben |
| np.sqrt(arr) | Quadratwurzel jedes Elements im Array |
| np.sin(arr) | Sinus jedes Elements im Array |
| np.log(arr) | Natürlicher Logarithmus jedes Elements im Array |
| np.abs(arr) | Absolutwert jedes Elements im Array |
| np.ceil(arr) | Ründet auf den nächsten Integer auf |
| np.floor(arr) | Ründet auf den nächsten Integer ab |
| np.round(arr) | Rundet auf den nächsten Integer |
Statistiken
| np.mean(arr,axis=0) | Gibt den Mittelwert entlang einer bestimmten Achse zurück |
| arr.sum() | Gibt die Summe von arr zurück |
| arr.min() | Gibt den kleinsten Wert von arr zurück |
| arr.max(axis=0) | Gibt den größten Wert einer bestimmten Achse zurück |
| np.var(arr) | Gibt die Varianz des Arrays zurück |
| np.std(arr,axis=1) | Gibt die Standardabweichung einer bestimmten Achse zurück |
| arr.corrcoef() | Gibt den Korrelationskoeffizienten des Arrays zurück |