
NumPy
NumPy ist eine Erweiterung für die Programmiersprache Python, mit der sich große Mengen an Zahlen schnell verarbeiten lassen. Sie bildet die Grundlage für fast alle Programme in Datenanalyse, Wissenschaft und künstlicher Intelligenz.
NumPy ist eine Sammlung von fertigen Programmbausteinen für die Programmiersprache Python. Solche Sammlungen nennt man Bibliotheken: Man muss den Code nicht selbst schreiben, sondern kann ihn einfach benutzen. NumPy ist auf eine einzige Aufgabe spezialisiert, nämlich das Rechnen mit sehr vielen Zahlen gleichzeitig. Statt einzelner Werte verwaltet es ganze Tabellen und Listen von Zahlen als einen Block. Der Name ist die Kurzform von Numerical Python, also etwa „Python für Zahlen“. Die Bibliothek gibt es seit 2006, sie ist kostenlos und ihr Quelltext ist öffentlich einsehbar.
Warum ohne NumPy fast nichts läuft
Python ist leicht zu lernen, aber im Vergleich zu anderen Sprachen langsam. Wer in reinem Python eine Million Zahlen addiert, wartet spürbar. NumPy löst dieses Problem, indem es die eigentliche Rechenarbeit an vorkompilierten Code in den Sprachen C und Fortran abgibt. Für den Nutzer bleibt die Bequemlichkeit von Python, unter der Haube arbeitet aber deutlich schnellere Technik. Typische Rechnungen laufen dadurch zehn- bis hundertmal schneller.
Der zweite Grund ist die Rolle als gemeinsames Fundament. Bekannte Werkzeuge wie Pandas für Tabellen, scikit-learn für maschinelles Lernen oder Matplotlib für Diagramme bauen alle auf NumPy auf. Auch die großen KI-Bibliotheken PyTorch und TensorFlow haben ihre Bedienung eng an NumPy angelehnt. Wer NumPy versteht, findet sich in diesen Werkzeugen sofort zurecht.
Diese Verbreitung hat einen praktischen Effekt: Daten lassen sich zwischen Programmen weiterreichen, ohne umgewandelt zu werden. Ein Bild, das ein Programm einliest, kann ein anderes direkt weiterverarbeiten. Alle sprechen dieselbe Sprache aus Zahlenblöcken.
Das Array als zentrales Bauteil
Das Herzstück von NumPy heißt Array, auf Deutsch etwa Zahlenfeld. Ein Array ist ein Raster aus Zahlen, alle vom selben Typ und alle direkt hintereinander im Arbeitsspeicher abgelegt. Eine normale Python-Liste dagegen speichert jeden Wert an einer anderen Stelle und merkt sich nur, wo er liegt. Der Unterschied ist wie zwischen einem geordneten Regal und Zetteln, die im ganzen Haus verteilt sind. Weil im Array alles beieinanderliegt, kann der Prozessor die Zahlen am Stück abarbeiten.
Ein Array kann mehrere Dimensionen haben. Eine Zeile Zahlen ist eindimensional, eine Tabelle mit Zeilen und Spalten zweidimensional. Ein Farbfoto ist ein dreidimensionales Array: Höhe, Breite und drei Farbkanäle. Genau in dieser Form kommen Daten auch in KI-Modelle hinein.
Der typische Arbeitsstil heißt Vektorisierung. Man schreibt keine Schleife, die jede Zahl einzeln anfasst, sondern gibt eine Anweisung für das ganze Array. „Multipliziere alle Werte mit zwei“ ist eine einzige Zeile Code. NumPy übersetzt sie in eine schnelle Schleife außerhalb von Python. Anfänger schreiben oft trotzdem Schleifen und wundern sich dann über die Rechenzeit.
NumPy in Studium, Forschung und KI-Meldungen
Im Informatik- oder Physikunterricht taucht NumPy meist beim ersten Auswerten von Messdaten auf. Auch an Universitäten ist es Standard, egal ob in Biologie, Wirtschaft oder Astronomie. Das erste Bild eines schwarzen Lochs wurde mit einer Software-Kette berechnet, in der NumPy eine tragende Rolle spielte.
In Nachrichten über künstliche Intelligenz wird NumPy selten namentlich genannt, ist aber fast immer beteiligt. Bevor ein Modell trainiert wird, müssen Texte, Bilder oder Messwerte in Zahlen umgewandelt werden. Diese Vorbereitung läuft typischerweise über NumPy. Erst danach übernehmen Spezialbibliotheken die Berechnung auf Grafikkarten.
Ein häufiges Missverständnis: NumPy ist selbst keine KI-Software und lernt nichts. Es ist ein Rechenwerkzeug, vergleichbar mit einem sehr schnellen Taschenrechner für Datenmengen. Auch die Grafikkarte nutzt es nicht, dafür gibt es andere Bibliotheken wie CuPy oder JAX. Die bleiben aber bewusst bei der Bedienlogik von NumPy, weil sie so vertraut ist.