Was ist NumPy?
NumPy ist eine Programmbibliothek für die Programmiersprache Python, die eine einfache Handhabung von Vektoren, Matrizen oder generell großen mehrdimensionalen Arrays ermöglicht. Neben den Datenstrukturen bietet NumPy auch effizient implementierte Funktionen für numerische Berechnungen an.
An dieser Stelle möchte ich Ihnen einen Cheat Sheet für NumPy vorstellen, der locker 95% der Operationen beinhaltet, die Sie für ihre Arbeite mit NumPy jemals benötigen werden.
Allgemeine Infos
Die NumPy Library ermöglicht ein leistungsfähiges Arbeiten mit mehrdimensionalen Arrays.
Modul importieren mit ‘import numpy as np’
Arrays erstellen
a = np.array([1,2,3])
b = np.array([(1.5,2,3), (4,5,6)], dtype = int)
Spezielle Arrays
np.zeros((2,3)) # 2D Array mit Nullen
np.ones((3,4)) # 3x4 Array mit Einsen
np.arange(10,25,5) # gleichmäßig verteilten Werten (Schrittgröße)
np.linspace(0,2,9) # gleichmäßig verteilten Werten (Schrittanzahl)
np.random.random((3,5)) # 3x5 Zufallszahlen Array
Laden und Speichern
Festplatte
np.load('mein_array.npy')
np.save('mein_array', a)
Text/CSV Datei
np.loadtxt("meine_datei.txt")
np.savetxt("mein_array.txt", a, delimiter=" ")
np.genfromtxt("meine_datei.csv", delimiter=',')
Arrays untersuchen
e.size # Anzahl Array Elemente
a.shape # Array Dimension
b.ndim # Anzahl Dimensionen
len(a) # Länge des Arrays
b.dtype # Datentyp Array Elemente
b.astype(int) # Konvertiert zu Datentyp
Mathematische Operationen
a + b # Addition
np.add(a,b) # Addition
a - b # Subtraktion
np.subtract(a-b) # Subtraktion
a * b # Multiplikation
np.multiply(a,b) # Multiplikation
a/b # Division
np.divide(a,b) # Division
np.exp(b) # Exponent
np.sqrt(b) # Quadratwurzel
np.sin(a) # Sinus
np.log(a) # Natürlicher Logarithmus
e.dot(f) # Skalarprodukt
a == b # Elementweiser Vergleich
a > b # Elementweiser Vergleich
a.sum() # Arrayweise Summe
a.min() # Arrayweiser min. Wert
b.max(axis=0) # Max. Wert einer Reihe
a.mean() # Mittelwert
b.median() # Median
b.cumsum(axis=1) # Kumulative Summe der Elemente
a.corrcoef() # Korrelationskoeffizient
np.std(b) # Standardabweichung
Datentypen
np.int64 # 64-bit Integer
np.float32 # Fließkommazahl
np.complex # Komplexe Zahlen
np.bool # Boolesche Werte
np.object # Python Objekttyp
np.string_ # String-Typ, feste Länge
np.unicode_ # Unicode-Typ, feste Länge
Array Operationen/Manipulationen
np.copy(a) # Kopie des Arrays
h = a.copy() # Deep copy des Arrays
h = a.view() # Erstellt ein Ansicht
a.sort() # Sortiert Array
c.sort(axis=0) # Sortiert Elemente der Achse
b.reshape(2,3) # Formt Array zu 2x3 Arrays
h.resize((2,6)) #
np.append(h,g) #
np.insert(a,1,5) # Fügt Einträge in Array ein
np.delete(a,[1]) # Löscht Einträge aus Array
# Verkettete Arrays
np.concatenate(a,d), axis=0)
np.split(a, 3) # Teilt Array in 3 Unter-Arrays
a[2] # Elementauswahl 2.Stelle
b[1,2] # Elementauswahl 1.Reihe 2.Spalte
a[0:2] # Elementauswahl der Stelle 0-1
b[0:2,1] # Auswahl Reihe 0-1 Spalte 1
b[:1] # Auswahl aller Einträge 0.Reihe
a[::-1] # Kehrt Array um
a[a < 2] # Wählt a Elemente kleiner 2 aus
# Hilfe
np.info(np.ndarray.dtype)