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:
- 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.
- 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.
- 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.
- 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 sindnp.ones
: Erstellen Sie ein 3×5-Gleitkomma-Array, der Wert des Arrays ist 1np.full
: Erstellen Sie ein 3 × 5-Gleitkomma-Array. Der Wert des Arrays beträgt 3,14np.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ätsmatrixnp.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.linspace
Erstellen Sie ein Array mit 5 Elementen und verteilen Sie die 5 Zahlen gleichmäßig auf 0 bis 1np.random.random
Erstellen Sie ein 3×3-Array aus Zufallszahlen, die gleichmäßig zwischen 0 und 1 verteilt sindnp.random.normal
Erstellen Sie ein 3×3-Array normalverteilter Zufallszahlen mit Mittelwert 0 und Varianz 1np.random.randint
Erstellen 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))