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.