NumPy ist eine mathematische Bibliothek für Python, die unter anderem in der Datenanalyse zum Einsatz kommt. Der Vorteil von NumPy liegt vor allem darin, dass Array-Objekte in NumPy ein mehrfaches schneller sind als Python-Listen. Die Arrays kommen vor allem in der Datenwissenschaft vor.
Nutzen Entwickler parallel zu NumPy noch SciPy, Matplotlib und Pandas, kann die Umgebung durchaus auch als Ersatz für Matlab zum Einsatz kommen. Vorteil von Python ist der aktuellere Entwicklungsstand. Die Programmiersprache ist moderner als Matlab und kann mit den genannten Modulen eine mächtige Alternative zu Matlab darstellen. Vor allem die zusätzliche Integration von SciPy bietet hier viele Möglichkeiten, die auch Matlab bietet.
Die Bibliothek ist das grundlegende Paket für wissenschaftliche Berechnungen in Python und stellt ein mehrdimensionales Array-Objekt zur Verfügung. Hinzu kommen verschiedene abgeleitete Objekte, zum Beispielwie maskierte Arrays und Matrizen. Auch eine Reihe von Routinen für schnelle Operationen auf Arrays sind Bestandteil von NumPy; hierzu zählen mathematische, logische und formale Manipulatoren, Sortieren, Auswählen, E/A, diskrete Fourier-Transformationen, grundlegende lineare Algebra, grundlegende statistische Operationen, Zufallssimulationen und vieles mehr.
NumPy ist schneller als Listen
Die Array-Objekte in NumPy tragen die Bezeichnung „ndarray“ und bieten mit ihren Funktionen eine höhere Geschwindigkeit als herkömmliche Python-Listen. Der Einsatz in der Datenwissenschaft ist sinnvoll und auch der Schwerpunkt, weil gerade hier sehr große Datenmengen in möglichst kurzer Zeit verarbeitet werden müssen. Python ermöglicht auch ohne die zusätzliche Bibliothek das Verarbeiten von Daten. Aber NumPy erweitert die Möglichkeit auf die Analyse extrem großer Datenmengen bei gleichzeitig maximaler Leistung.
Der Hauptgrund, warum in der Datenanalyse und Datenwissenschaft mit Python auf NumPy gesetzt wird, ist wie erwähnt die sehr viel höhere Geschwindigkeit der NumPy-Arrays. Diese werden immer an der gleichen Stelle im Speicher abgelegt, sodass der Zugriff auf diese Arrays durch verschiedene Prozesse in maximaler Geschwindigkeit stattfinden kann. Dazu kommt, dass die Bibliothek ständig für die Vorteile und Möglichkeiten der aktuellen Prozessoren optimiert wird.
NumPy in Python integrieren und installieren
NumPy mit Pip installieren.
(Bild: Joos)
Der einfachste Weg, um NumPy auf einem Rechner zu verwenden, ist die Installation mit dem Python-Paketmanager pip. Aus diesem Grund ist es sinnvoll, auf dem jeweiligen Rechner auch die aktuelle Python-Version zu installieren:
pip install numpy
Um NumPy in eigenen Anwendungen zu nutzen, kommt das Schlüsselwort „import“ zum Einsatz:
Import numpy
Der generelle Umgang mit der Bibliothek und Anleitungen für den Einstieg finden sich in der offiziellen NumPy-Dokumentation. Diese lässt sich auch als PDF herunterladen und steht dann offline zur Verfügung. Ein Beispiel für den Einsatz sieht folgendermaßen aus:
Die Integration von NumPy erfolgt mit dem Schlüsselwort „np“. Das macht die Verwendung im eigenen Code einfacher. Für den Einsatz ist die Versionsnummer wichtig. Diese lässt sich nach dem Importieren mit dem folgenden Code anzeigen:
print(np.__version__)
Numpy-Arrays als ndarray-Objekt erstellen
Sobald Numpy verfügbar und importiert ist, ist es sinnvoll, Arrays mit NumPy als ndarray-Objekt zu erstellen, zum Beispiel mit:
Mit NumPy lassen sich Arrays auch verschachteln. Dadurch lassen sich also Arrays als Elemente in einem Array integrieren. Durch diese Dimensionen lassen sich auch komplexere Analysen durchführen. Mit dem Attribut „ndim“ lässt sich in NumPy überprüfen, wie viele Dimensionen ein Array hat. Beispiel:
import numpy as npa = np.array(42) b = np.array([1, 2, 3, 4, 5]) c = np.array([[1, 2, 3], [4, 5, 6]]) d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])print(a.ndim) print(b.ndim) print(c.ndim) print(d.ndim)
Arbeiten mit mehreren Dimensionen in NumPy.
(Bild: Joos)
Grundsätzlich kann ein Array in NumPy eine nahezu unbegrenzte Anzahl an Dimensionen nutzen. Es ist möglich, bereits beim Erstellen eines Arrays festzulegen, wieviele Dimensionen dieses Array haben soll. Dazu kommt das Argument „ndmin“ zum Einsatz.
import numpy as nparr = np.array([1, 2, 3, 4], ndmin=5) print(arr) print('number of dimensions :', arr.ndim)
NumPy mit SciPy verwenden
Wenn es um die Datenanalyse mit Python geht, nutzen viele Entwickler NumPy parallel mit SciPy. Auch hier handelt es sich um eine zusätzliche Bibliothek, die parallel für die Datenanalyse zum Einsatz kommen kann. SciPy erweitert NumPy um Funktionen wie zum Beispiel Minimierung, Regression oder Fouriertransformation. Es empfiehlt sich, zuerst NumPy zu installieren, da dies in Python eine Voraussetzung für die Verwendung ist. Die Installation von SciPy kann ebenfalls über pip erfolgen:
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.