NumPy – Arbeiten mit Arrays und Matrizen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten
```html

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
```

Empfehlungen