Benutzer:Elimik31/Artikelwerkstatt

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Oktober 2020 um 01:26 Uhr durch Elimik31 (Diskussion | Beiträge) (Bild größer und caption angepasst). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Unterseite zum Entwerfen neuer Artikel oder Abschnitte

Die ndarray-Datenstruktur

Die Kernfunktionalität von NumPy basiert auf der Datenstruktur „ndarray" (n-dimensionales Array), die auch als „NumPy Array" bezeichnet wird.[1] [2] Dessen wesentliche Bestandteile sind ein Zeiger auf einen zusammenhängenden Speicherbereich zusammen mit Metadaten, welche die darin gespeicherten Daten beschreiben:[2]

Die NumPy Array Datenstruktur und deren Metadaten
Datenyp
Anders als in Pythons eigener List-Datenstruktur sind NumPy Arrays homogen typisiert: Alle Elemente eines Arrays müssen vom selben Datentyp sein.
Form (engl. shape)
Definiert die Dimensionen in jeder Indexausprägung („Achse") des Arrays und die Anzahl der Achsen (bzw. Indizes).
Schrittlängen (engl. strides)
Die Schrittlängen beschreiben für jede Achse, wie viele bytes man im linearen Speicher springen muss, wenn ein zu dieser Achse gehöriger Index um 1 erhöht wird, zum Beispiel um zwischen zwei Zeilen oder zwei Spalten zu springen.

Diese Arrays erlauben es außerdem, von allozierten Puffern anderer Sprachen zu lesen, ohne Daten kopieren zu müssen. Mit C/C++-, Cython- oder Fortran-Erweiterungen des CPython-Interpreters können so auch einfach weitere bestehende Numerikbibliotheken mitverwendet werden. Dieses Verhalten wird beispielsweise von SciPy genutzt, welches Wrapper für externe Bibliotheken wie BLAS oder LAPACK bereitstellt. NumPy bietet native Unterstützung für Memory Mapping der ndarrays.[1]

[2]

  1. a b Stéfan van der Walt, S. Chris Colbert and Gaël Varoquaux: The NumPy array: a structure for efficient numerical computation. In: Computing in Science and Engineering. IEEE, 2011, arxiv:1102.1523. 
  2. a b c Charles R. Harris, K. Jarrod Millman, Stéfan J. van, Ralf Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser, Julian Taylor, Sebastian Berg, Nathaniel J. Smith, Robert Kern, Matti Picus, Stephan Hoyer, Marten H. van, Matthew Brett, Allan Haldane, Jaime Fernández del, Mark Wiebe, Pearu Peterson, Pierre Gérard-Marchant, Kevin Sheppard, Tyler Reddy, Warren Weckesser, Hameer Abbasi, Christoph Gohlke, Travis E. Oliphant: Array programming with NumPy. In: Nature. 585. Jahrgang, Nr. 7825, 16. September 2020, S. 357–362, doi:10.1038/s41586-020-2649-2 (nature.com). 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Benutzer:Elimik31/Artikelwerkstatt&oldid=204767972"