html
Einführung in NumPy: Grundlage für wissenschaftliches Rechnen in Python
NumPy ist eine grundlegende Python-Bibliothek für wissenschaftliches Rechnen. Sie bietet leistungsstarke Unterstützung für mehrdimensionale Arrays und Matrizen sowie eine breite Palette von Funktionen für deren Bearbeitung. NumPy ist ein unverzichtbares Werkzeug für Datenanalysten, Machine-Learning-Spezialisten und Wissenschaftler.
NumPy ermöglicht die effiziente Verarbeitung großer Datenmengen und die Durchführung mathematischer Operationen, indem es Schleifen durch kompakten und vektorisierten Code ersetzt. Die Bibliothek enthält integrierte Funktionen für lineare Algebra und Statistik.
Installation und Import der NumPy-Bibliothek
Um mit NumPy zu arbeiten, müssen Sie es installieren und in Ihr Projekt importieren.
Installation von NumPy
Die Installation der Bibliothek erfolgt mit Hilfe von
Behandlung fehlender Werte (NaN)
Für die Arbeit mit fehlenden Werten verwendet NumPy np.nan.
arr = np.array([1, 2, np.nan, 4, 5])
print(np.isnan(arr)) # [False False True False False]
Für die Behandlung von NaN werden spezielle Funktionen wie nanmean(), nanstd(), nansum() verwendet, die fehlende Werte ignorieren.
Leistung von NumPy im Vergleich zu reinem Python
NumPy ist in C geschrieben und arbeitet deutlich schneller als reines Python, insbesondere bei Operationen auf großen Arrays. Dies liegt an der effizienten Vektorisierung und Optimierung.
import time
import numpy as np
size = 100000
# Python list
lista = list(range(size))
listb = list(range(size))
starttime = time.time()
resultpython = [a + b for a, b in zip(lista, listb)]
pythontime = time.time() - starttime
# NumPy array
anp = np.arange(size)
bnp = np.arange(size)
starttime = time.time()
resultnumpy = anp + bnp
numpytime = time.time() - starttime
print(f"Python time: {pythontime:.4f} seconds")
print(f"NumPy time: {numpytime:.4f} seconds")
Der Leistungsunterschied kann bei großen Datenmengen das Zehn- bis Hundertfache betragen.
Reale Anwendungsfälle von NumPy
NumPy wird in verschiedenen Bereichen eingesetzt:
- Wissenschaft: Verarbeitung experimenteller Daten
- Finanzen: Analyse von Zeitreihen
- Machine Learning: Datenaufbereitung und -normalisierung, Modellierung
- Computergrafik: Arbeit mit Bildern
- Bildung: Visualisierung mathematischer Funktionen und Algorithmen
Häufig gestellte Fragen (FAQ)
Wie unterscheidet sich ein NumPy-Array von einer Python-Liste?
Ein NumPy-Array ist eine Datenstruktur, die Zahlen in Form von Tabellen (Tensoren) speichert, einen festen Datentyp hat und vektorisierte Operationen unterstützt. Eine Python-Liste ist flexibler, aber für numerische Berechnungen weniger effizient.
Wie erstelle ich eine Nullmatrix der Größe 3x3?
matrix = np.zeros((3, 3))
Wie transponiere ich eine Matrix?
transposedmatrix = matrix.T
Wie multipliziere ich Matrizen?
result = matrix1 @ matrix2
Wie finde ich die inverse Matrix?
inversedmatrix = np.linalg.inv(matrix)
Hauptkategorien von NumPy-Funktionen
NumPy bietet eine breite Palette von Funktionen für verschiedene Aufgaben:
- Array-Erstellung: NumPy bietet viele Funktionen zum Erstellen und Initialisieren von Arrays mit verschiedenen Anfangswerten (Nullen, Einsen, Zufallszahlen usw.).
- Mathematische Operationen: Die Bibliothek unterstützt viele mathematische Operationen auf Arrays, einschließlich arithmetischer Operationen, statistischer Funktionen und Funktionen der linearen Algebra.
- Funktionen der linearen Algebra: NumPy stellt Funktionen zur Durchführung von Operationen der linearen Algebra bereit, wie z.B. Matrixmultiplikation, Berechnung von Eigenwerten usw.
- Trigonometrische und logarithmische Funktionen: Die Bibliothek bietet Funk
Auch in der Bibliothek
Arbeiten mit ZIP/Archiven in Kotlin: Erstellen, Lesen und Entpacken
OkHttp Java: Vollständiges Tutorial mit Code-Beispielen
cast für Go: Vollständige Anleitung mit Beispielen