Zum Inhalt springen

Was ist NumPy?

  • Python

NumPy steht als Abkürzung für Numerical Python und ist eine Python Library für den Umgang mit Arrays. Mithilfe dieser Arrays lassen sich Elemente aus der Linearen Algebra, wie beispielsweise Vektoren und Matrizen, in Python darstellen. Da ein Großteil der Bibliothek in C geschrieben ist, kann es besonders effiziente und schnelle Berechnungen auch mit großen Matrizen vornehmen.

Was ist NumPy?

Python bietet eine Vielzahl von Datenstrukturen, die ohne zusätzliche Bibliotheken zur Speicherung von Daten genutzt werden können. Jedoch sind diese Strukturen, wie beispielsweise Python Listen, nur sehr schlecht für mathematische Operationen geeignet. Das elementweise Addieren von zwei Listen aus Zahlen kann bei großen Datenmengen schnell zu Lasten der Performance gehen.

Aus diesem Grund wurde NumPy entwickelt, da es die Möglichkeit bietet, numerische Operationen schnell und effizient durchzuführen. Wichtig sind dabei vor allem Berechnungen aus dem Bereich der Linearen Algebra, wie beispielsweise Matrizenmultiplikationen.

Wie installiert man NumPy?

NumPy kann man, so wie viele andere Bibliotheken auch, mithilfe von pip direkt aus einem Notebook heraus installieren. Dazu nutzt man den Befehl „pip install“ zusammen mit dem Modulnamen. Dieser Zeile muss ein Ausrufezeichen vorangestellt werden, damit das Notebook erkennt, dass es sich um einen Terminal-Befehl handelt:

Numpy

Wenn die Installation erfolgreich war, kann das Modul einfach importiert und im Notebook genutzt werden. Hierbei wird oft die Abkürzung „np“ genutzt, um sich so im Laufe des Programmierens ein bisschen Zeit zu sparen und nicht jedes Mal NumPy eingeben zu müssen:

Numpy

Was sind NumPy Arrays?

NumPy Arrays sind eine valide Alternative zu den herkömmlichen Python Lists. Sie bieten die Möglichkeit mehrdimensionale Ansammlungen von Daten zu speichern. In den meisten Fällen werden Zahlen abgespeichert und die Arrays als Vektoren oder Matrizen genutzt. Ein eindimensionaler Vektor könnte zum Beispiel so aussehen:

Numpy

Neben den verschiedenen Funktionen von NumPy Arrays, die wir in einem separaten Beitrag behandeln werden, sind die möglichen Dimensionalitäten für die Unterscheidung noch wichtig:

Numpy

Dabei unterscheidet man die folgenden Dimensionalitäten:

  • 0D – Array: Das ist einfach ein Skalar, also eine einzelne Zahl oder ein einzelner Wert.
  • 1D – Array: Hierbei handelt es sich um einen Vektor, als eine Aufreihung von Zahlen oder Werten in einer Dimension.
  • 2D – Array: Diese Art des Arrays ist eine Matrix, also eine Sammlung von mehreren 1D – Arrays.
  • 3D – Array: Mehrere Matrizen bilden einen sogenannten Tensor. Diese haben wir in unserem Beitrag zu TensorFlow genauer erklärt.

Was sind die Unterschiede zwischen NumPy Arrays und Python Lists?

Je nach Quelle gibt es mehrere, grundlegende Unterschiede zwischen NumPy Arrays und Python Lists. Zu den am häufigsten genannten gehören:

  1. Speicherverbrauch: Arrays sind so programmiert, dass sie einen gewissen Teil im Speicher für sich beanspruchen. Dort liegen dann alle Elemente des Arrays. Die Elemente einer Liste können hingegen weit im Speicher voneinander entfernt sein. Dadurch verbraucht eine Liste mehr Speicher als das identische Array.
  2. Geschwindigkeit: Auch aufgrund des geringeren Speicherverbrauchs können Arrays deutlich schneller verarbeitet werden als Listen. Das kann bei Objekten mit mehreren Millionen Elementen einen signifikanten Unterschied machen.
  3. Funktionalitäten: Arrays bieten deutlich mehr Funktionalitäten, beispielsweise ermöglichen sie elementweise Operationen, während Listen das nicht unterstützen.
Numpy

Was sind NumPy ufuncs?

Die sogenannten „Universal Functions“ (kurz: ufuncs) werden genutzt, um gewisse Operationen nicht elementweise durchführen zu müssen, sondern direkt für das gesamte Array. Man spricht in der Computer Programmierung von der sogenannten Vektorisierung, wenn Befehle direkt für den gesamten Vektor ausgeführt werden.

Das ist nicht nur bei der Programmierung deutlich schneller, sondern führt auch zu schnelleren Berechnungen. In Numpy werden verschiedene dieser Universal Functions angeboten, die für eine Vielzahl von Operationen genutzt werden können. Zu den bekanntesten zählen:

  • Mit „add()“ kann man mehrere Arrays elementweise aufsummieren.
  • „subtract()“ ist das genaue Gegenteil davon und subtrahiert die Arrays elementweise.
  • „multiply()“ multipliziert zwei Arrays elementweise miteinander.
  • „matmul()“ bildet das Matrizenprodukt aus zwei Arrays. Man muss beachten, dass dies in den meisten Fällen nicht dasselbe Ergebis liefert wie „multiply()“.

Das solltest Du mitnehmen

  • NumPy steht als Abkürzung für Numerical Python und ist eine Python Library für den Umgang mit Arrays.
  • Mithilfe dieser Arrays lassen sich Elemente aus der Linearen Algebra, wie beispielsweise Vektoren und Matrizen, in Python darstellen.
  • Da ein Großteil der Bibliothek in C geschrieben ist, kann es besonders effiziente und schnelle Berechnungen auch mit großen Matrizen vornehmen.
  • NumPy Arrays sind vergleichbar mit Python Lists, diesen jedoch im Speicherbedarf und der Verarbeitungsgeschwindigkeit deutlich überlegen.

Danke an Deepnote für die Unterstützung bei diesem Artikel! Deepnote bietet mir die Möglichkeit Python Code einfach und schnell auf der Website einzubinden und außerdem die dazugehörigen Notebooks in der Cloud zu hosten.

Andere Beiträge zum Thema NumPy

close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Schlagwörter:
Cookie Consent mit Real Cookie Banner