WikiDer > NumPy

NumPy
NumPy
Logo
EntwicklerGemeinschaftsprojekt
Letzte Version1.6.1
BetriebssystemPlattformübergreifend
KategorieNumerische Mathematik
LizenzNeue BSD-Lizenz
Versionskontrollegithub.com
Webseitehttp://numpy.scipy.org/
Portal  Portalsymbol  Informatik

Numpy ist ein Open Source-Erweiterung auf der ProgrammiersprachePython mit dem Ziel, Unterstützung für große, mehrdimensionale Arrays und Matrizen, zusammen mit einer großen Bibliothek von MathematikFunktionen mit diesen Arrays umgehen arbeiten. Numpys Vorgänger, Numeric, wurde ursprünglich von . erstellt Jim Hugunin mit Beiträgen von verschiedenen anderen Entwicklern. Im Jahr 2005 hat Travis Oliphant NumPy entwickelt, indem er Funktionen von Numarray mit umfangreichen Anpassungen in NumPy integriert hat.

Motivation

Denn der Standard Python-Implementierung ein Dolmetscher ist, dass mathematische Algorithmen oft viel langsamer laufen als zusammengestellt Äquivalente, wie sie in geschrieben sind C. NumPy löst dieses Problem für viele numerische Algorithmen durch mehrdimensionale Arrays und zahlreiche Funktionen und Operatoren, die mit Arrays arbeiten. Ein Algorithmus, der sich hauptsächlich als Operationen auf Arrays und Matrizen ausdrücken lässt, kann daher fast so schnell laufen wie der entsprechende C-Code.[1]

taub (PyLab) ist eine kostenlose Alternative zu MATLAB. Beide werden interpretiert und ermöglichen dem Benutzer das schnelle Schreiben von Programmen, solange die meisten Operationen mit Arrays oder Matrizen arbeiten, anstatt mit Skalare. Ein Vorteil von MATLAB ist die große Anzahl verfügbarer Zusatzmodule, darunter die Simulink Pakete. NumPy hat jedoch den Vorteil, dass Python eine modernere und vollständigere Programmiersprache ist und außerdem Open Source ist. Andere zusätzliche Python-Pakete sind ebenfalls verfügbar: SciPy ist eine Bibliothek, die weitere MATLAB-ähnliche Funktionen hinzufügt und matplotlib ist ein Paket zum Erstellen verschiedener MATLAB-ähnlicher Diagramme. Intern verlassen sich sowohl MATLAB als auch NumPy auf LAPACK für effiziente Berechnungen in der linearen Algebra.

Beispiel

Unten finden Sie ein einfaches Beispiel dafür, wie Sie mit NumPy interaktive Array-Manipulationen durchführen und diese dann mit Matplotlib grafisch darstellen.

>>>importierennumpy>>>vonmatplotlibimportierenpyplot>>>X=numpy.linspace(0,2*numpy.Pi,100)>>>ja=numpy.Sünde(X)>>>pyplot.Handlung(X,ja)>>>pyplot.Show()

Geschichte

Numpy basiert auf zwei früheren Python-Array-Paketen. Das Original (Numerisch), das einigermaßen vollständig und stabil ist, bleibt verfügbar, ist aber mittlerweile veraltet. NumPy wurde ursprünglich größtenteils 1995 von Jim Hugunin mit Hilfe vieler Leute geschrieben, darunter Jim Fulton, David Ascher, Paul DuBois,[2] und Konrad Hinsen. Eine neuere Implementierung, Numarray, ist eine komplette Neufassung von Numeric, ist aber auch ausgelaufen numpy ist eine Fusion zwischen den beiden und baut auf der Codebasis von Numeric auf, zu der es die Funktionen von numarray hinzufügt.[3]

Es war notwendig, Numeric in die Python-Standardbibliothek aufzunehmen, aber Guido van Rossum (Python-Autor) war sich sehr darüber im Klaren, dass der Code so wie er war nicht wartbar war. Ein weiteres Problem war, dass Numeric bei großen Arrays sehr langsam war. Als Ergebnis wurde ein weiteres Paket namens Numarray erstellt. Numarray war bei großen Arrays schneller, bei kleinen Arrays jedoch langsamer. Eine Zeit lang wurden sowohl Numeric als auch Numarray verwendet, beide mit unterschiedlichen Wegen, um die gleichen Ziele zu erreichen. Die neueste Version von Numeric v24.2 wurde am 11. November 2005 veröffentlicht und numarray v1.5.2 wurde am 24. August 2006 veröffentlicht.[4]

Anfang 2005 wollte Travis Oliphant die Community um ein einziges Array-Paket vereinen. Der Code von Numeric wurde modifiziert, um ihn wartungsfreundlicher und flexibler zu machen, um die neuen Funktionen von Numarray zu implementieren. Dieses neue Projekt war Teil von SciPy. Um zu vermeiden, dass ein ganzes Paket installiert wird, nur um ein Array-Objekt zu erhalten, wurde dieses neue Paket abgetrennt und mit dem Namen NumPy versehen. Während der Quellcode frei verfügbar ist und wichtige Dokumentationen enthält, gibt es auch ein umfangreiches offizielles Anleitung zu numpy.[5] Die Dokumentation basiert auf einem einheitlichen docstring Standard.

Version 1.5.1 von numpy ist mit den Python-Versionen 2.4-2.7 und 3.1 kompatibel. Python 3-Unterstützung wurde in 1.5.0 hinzugefügt.[6] Im 2011 gestartet PyPy Entwicklung einer Implementierung der NumPy-API für PyPy.[7]

Siehe auch

Externe Links