Numpy-Array – ausführliche Einführung

Numpy ist die Grundlage des numerischen Rechnens und des wissenschaftlichen Rechnens in der Python-Familie und die Grundlage vieler Toolkit-Implementierungen. Numpy bietet Vektor- und Matrixoperationen, um die Leistung quantitativer Analysealgorithmen zu optimieren.

Datenweg:

Offizielle Numpy-Dokumentation

Einführung in Numpy

NumPy ist das grundlegende Paket für wissenschaftliches Rechnen in Python. Es handelt sich um eine Python-Bibliothek, die ein mehrdimensionales Array-Objekt, verschiedene abgeleitete Objekte (z. B. maskierte Arrays und Matrizen) und verschiedene Routinen für schnelle Operationen an Arrays bereitstellt, einschließlich mathematischer, logischer, Formoperationen, Sortierung, Auswahl, E/A und diskreter Operationen Fourier-Transformationen, grundlegende lineare Algebra, grundlegende statistische Operationen, stochastische Simulationen und mehr.

Der Kern des NumPy-Pakets ist das ndarray-Objekt. Es kapselt n-dimensionale Arrays homogener Datentypen und zur Verbesserung der Leistung werden viele Operationen in kompiliertem Code ausgeführt. Zu den Unterschieden zwischen NumPy-Arrays und Standard-Python-Sequenzen gehören:

  1. NumPy-Arrays haben beim Erstellen eine feste Größe, im Gegensatz zu Python-Listen (die dynamisch wachsen können). Durch Ändern der Größe eines Ndarrays wird ein neues Array erstellt und das ursprüngliche Array gelöscht.
  2. Die Elemente in einem NumPy-Array müssen alle vom gleichen Datentyp sein und daher die gleiche Speichergröße haben. Die Ausnahme ist: Es können Arrays von (Python, einschließlich NumPy) Objekten vorhanden sein, wodurch Arrays von Elementen unterschiedlicher Größe möglich sind.
  3. NumPy-Arrays ermöglichen fortgeschrittene mathematische und andere Arten von Operationen an großen Datenmengen. Normalerweise können solche Vorgänge effizienter und mit weniger Code ausgeführt werden als mit den integrierten Sequenzen von Python.
  4. NumPy (kurz für Numerical Python) bietet eine Schnittstelle zum effizienten Speichern und Bearbeiten dichter Datencaches. In mancher Hinsicht sind NumPy-Arrays dem in Python integrierten Listentyp sehr ähnlich. Da Arrays jedoch größer werden, bieten NumPy-Arrays eine effizientere Speicherung und Datenbearbeitung.
import numpy as np

1. Erstellen Sie ein Array

Zunächst können Sie mit np.array Arrays aus Python-Listen erstellen:

# 整型数组:
np.array([1, 41, 32, 35, 3])
array([21, 44, 32, 35, 3])

Denken Sie daran, dass NumPy im Gegensatz zu Python-Listen erfordert, dass Arrays Daten desselben Typs enthalten müssen. Wenn die Typen nicht übereinstimmen, führt NumPy ein Upcasting durch (falls zutreffend). Hier werden Ganzzahlen in Gleitkommazahlen umgewandelt:

np.array([3.14, 42, 23, 13])
array([3.14, 4.  , 22.  , 23.  ])

Wenn Sie den Datentyp des Arrays explizit festlegen möchten, können Sie das Schlüsselwort dtype verwenden:

np.array([31, 32, 43, 34], dtype='float32')

Im Gegensatz zu Python-Listen können NumPy-Arrays mehrdimensional angegeben werden. Hier ist eine Möglichkeit, ein mehrdimensionales Array mit einer Liste von Listen zu initialisieren, also ein mehrdimensionales Array aus verschachtelten Listen:

np.array([range(i, i + 3) for i in [2, 4, 6]])

Array wandelt eine Folge von Sequenzen in ein zweidimensionales Array um

np.array([(1.5,2,3), (4,5,6)])
np.array([[1.5,2,3], [4,5,6]])

Bei großen Arrays ist es effizienter, die integrierten Methoden von NumPy zu verwenden, um Arrays von Grund auf zu erstellen. Hier ein paar Beispiele:

  • np.zeros: Erstellen Sie ein Array mit einer Länge von 10, die Werte des Arrays sind
  • np.ones: Erstellen Sie ein 3×5-Gleitkomma-Array, der Wert des Arrays ist 1
  • np.full: Erstellen Sie ein 3 × 5-Gleitkomma-Array. Der Wert des Arrays beträgt 3,14
  • np.arange: Beginnt bei 0 und endet bei 20, mit einer Schrittgröße von 2, ähnlich der integrierten Funktion range()
  • np.eye: Erstellen Sie eine 3×3-Identitätsmatrix
  • np.empty: Erstellen Sie ein nicht initialisiertes Array bestehend aus 3 Ganzzahlen. Der Wert des Arrays ist ein beliebiger Wert im Speicherplatz
np.zeros(10, dtype=int)
np.ones((3, 5), dtype=float)
np.full((3, 5), 3.14)
np.arange(0, 20, 2)
np.eye(3)
np.empty(3)
  • np.linspaceErstellen Sie ein Array mit 5 Elementen und verteilen Sie die 5 Zahlen gleichmäßig auf 0 bis 1
  • np.random.randomErstellen Sie ein 3×3-Array aus Zufallszahlen, die gleichmäßig zwischen 0 und 1 verteilt sind
  • np.random.normalErstellen Sie ein 3×3-Array normalverteilter Zufallszahlen mit Mittelwert 0 und Varianz 1
  • np.random.randintErstellen Sie ein 3×3-Zufalls-Ganzzahl-Array im Intervall [0, 10)
np.linspace(0, 1, 5)
np.random.random((3, 3))
np.random.normal(0, 1, (3, 3))
np.random.randint(0, 10, (3, 3))

Guess you like

Origin blog.csdn.net/GUDUzhongliang/article/details/131779731