Skip to content

NumPy

Eine der wichtigsten Bibliotheken für wissenschaftliche Arbeit in Python ist numpy. Sie stellt Methoden und Algorithmen für numerische Berechnungen zur Verfügung, wobei sie wiederum auf vielen etablierten Bibliotheken aufbaut, die in C und Fortran geschrieben sind. Das erleichtert die Arbeit mit Python ungemein und hat Wesentlich zu dessen Erfolg in der Wissenschaft beigetragen. Anstelle von detailreichem hardwarenahen Code schreiben wir häufig nur noch glue code, der den Datenfluss beschreibt und die Informationen so bereit hält, wie es die effizienten Bibliotheken benötigen.

numpy baut gewissermaßen eine Brücke zwischen dem einfach lesbaren und wartbaren Python-Code sowie der hardwarenahen Effizienz. Das gelingt u.a. dadurch, dass numpy eine eigene Datenstruktur mitbringt, die nicht Teil der Standardbibliothek ist: das array. Am Einfachsten kann man sich das wie eine Liste vorstellen, die ggf. verkettet ist um eine Matrix oder einen höheren Tensor zu beschreiben.

Neben effizienten Datentypen stellt numpy eine Vielzahl von spezialisierten Funktionen bereit: von linearer Algebra, zu Interpolation, Polynomfunktionen, Fouriertransformationen, Zufallszahlen und vielem mehr.

numpy muss als Modul explizit geladen werden, da es eben nicht Teil der Standardfunktionalität ist. Die Konvention ist, dass es wie folgt geladen wird:

import numpy as np

Damit wird numpy unter dem Alias np geladen. Im Folgenden verwendete Funktionen oder Datentypen mit np setzen also diesen Import voraus. Der Lesbarkeit halber wird dieser Import jedoch bei späteren Codebeispielen nicht mehr aufgeführt.

Damit die besondere Effizienz von numpy genutzt werden kann, ist es wichtig, die internen Funktionen zu verwenden. Sobald eine reguläre Python-Schleife eingesetzt wird, verliert man die Vorteile, die die Bibliothek bietet.