logo

NumPy-Array in Python

Python-Listen sind ein Ersatz für Arrays, bieten jedoch nicht die erforderliche Leistung bei der Berechnung großer Mengen numerischer Daten.

Um dieses Problem zu beheben, verwenden wir die NumPy-Bibliothek von Python. NumPy bietet ein Array-Objekt namens ndarray . Sie ähneln Standard-Python-Sequenzen, unterscheiden sich jedoch in bestimmten Schlüsselfaktoren.



Was ist ein NumPy-Array?

Das NumPy-Array ist eine mehrdimensionale Datenstruktur, die den Kern des wissenschaftlichen Rechnens in Python bildet.

Alle Werte in einem Array sind homogen (vom gleichen Datentyp).

Sie bieten automatische Vektorisierung und Broadcasting.



Sie bieten eine effiziente Speicherverwaltung, Ufuncs (universelle Funktionen), unterstützen verschiedene Datentypen und sind flexibel in Bezug auf Indizierung und Slicing.

Dimensionen in Arrays

NumPy-Arrays können mehrere Dimensionen haben, sodass Benutzer Daten in mehrschichtigen Strukturen speichern können.

Dimensionalitäten des Arrays:



Name Beispiel
0D (nulldimensional) Skalar – Ein einzelnes Element
1D (eindimensional) Vektor – Eine Liste von ganzen Zahlen.
2D (zweidimensional) Matrix – Eine Tabelle mit Daten
3D (dreidimensional) Tensor – Speichern eines Farbbildes

Array-Objekt erstellen

Mit den Objekten des NumPy-Arrays können wir mit Arrays in Python arbeiten. Das Array-Objekt wird aufgerufen ndarray .

Die Funktion array() der NumPy-Bibliothek erstellt ein Ndarray.

Python3




js-Ersatz
import> numpy as np> arr>=> np.array([>1>,>2>,>3>,>4>,>5>,>6>])>

>

Was ist Map Java?

>

Ausgabe

[1,2,3,4,5,6]>

Wir können auch ein NumPy-Array mit List und Tuple erstellen.

Erstellen Sie ein NumPy-Array aus einer Liste

Sie können den NP-Alias ​​verwenden, um ein Ndarray von a zu erstellen Liste mit der array()-Methode.

li = [1,2,3,4] numpyArr = np.array(li)>

oder

numpyArr = np.array([1,2,3,4])>

Die Liste wird an die Methode array() übergeben, die dann ein Array mit denselben Elementen zurückgibt.

Beispiel 1: Das folgende Beispiel zeigt, wie ein Array aus einer Liste initialisiert wird.

Python3




Finden Sie gesperrte Nummern auf Android

import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> print>(numpyArr)>

>

>

Ausgabe:

[1 2 3 4]>

Das resultierende Array sieht genauso aus wie eine Liste, ist aber ein NumPy-Objekt.

Beispiel 2: Nehmen wir ein Beispiel, um zu überprüfen, ob numpyArr ein NumPy-Objekt ist oder nicht. In diesem Beispiel verwenden wir die Funktion array(), um die Liste in ein NumPy-Array zu konvertieren und dann zu prüfen, ob es sich um ein NumPy-Objekt handelt oder nicht.

Python3




import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> > print>(>'li ='>, li,>'and type(li) ='>,>type>(li))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))>

>

>

Ausgabe:

li = [1, 2, 3, 4] and type(li) = numpyArr = [1 2 3 4] and type(numpyArr) =>

Wie Sie sehen können, ist li ein Listenobjekt, während numpyArr ein Array-Objekt von NumPy ist.

Erstellen Sie ein NumPy-Array aus einem Tupel

Sie können ndarray aus a erstellen Tupel mit einer ähnlichen Syntax.

tup = (1,2,3,4) numpyArr = np.array(tup)>

oder

numpyArr = np.array((1,2,3,4))>

Das folgende Beispiel veranschaulicht, wie ein Array aus einem Tupel erstellt wird. Hier verwenden wir die Funktion array(), um das Tupel in ein NumPy-Array zu konvertieren.

Python3


Netzwerkarchitektur



import> numpy as np> > tup>=> (>1>,>2>,>3>,>4>)> numpyArr>=> np.array(tup)> > print>(>'tup ='>, tup,>'and type(tup) ='>,>type>(tup))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))>

>

>

Ausgabe:

tup = (1, 2, 3, 4) and type(tup) = numpyArr = [1 2 3 4] and type(numpyArr) =>

Beachten Sie, dass der Wert von numpyArr bei beiden Konvertierungen gleich bleibt.

NumPy-Arrays im Vergleich zu integrierten Python-Sequenzen

  • Im Gegensatz zu Listen haben Arrays eine feste Größe. Wenn Sie die Größe eines Arrays ändern, wird ein neues Array erstellt, während das ursprüngliche Array gelöscht wird.
  • Alle Elemente in einem Array sind vom gleichen Typ.
  • Arrays sind schneller, effizienter und erfordern weniger Syntax als Standard-Python-Sequenzen.

Notiz: Verschiedene wissenschaftliche und mathematische Python-basierte Pakete verwenden Numpy. Sie nehmen Eingaben möglicherweise als integrierte Python-Sequenz entgegen, konvertieren die Daten jedoch wahrscheinlich in ein NumPy-Array, um eine schnellere Verarbeitung zu erreichen. Dies erklärt die Notwendigkeit, NumPy zu verstehen.

Warum ist das Numpy-Array so schnell?

Numpy-Arrays werden hauptsächlich in geschrieben C Sprache . Da die Arrays in C geschrieben sind, werden sie an zusammenhängenden Speicherorten gespeichert, wodurch sie zugänglich und einfacher zu bearbeiten sind. Dies bedeutet, dass Sie das Leistungsniveau eines C-Codes mit der Leichtigkeit des Schreibens eines Python-Programms erreichen können.

  1. Homogene Daten: Arrays speichern Elemente desselben Datentyps und sind dadurch kompakter und speichereffizienter als Listen.
  2. Fester Datentyp: Arrays haben einen festen Datentyp, wodurch der Speicheraufwand reduziert wird, da keine Typinformationen für jedes Element gespeichert werden müssen.
  3. Angrenzender Speicher: Arrays speichern Elemente an benachbarten Speicherorten, wodurch die Fragmentierung reduziert und ein effizienter Zugriff ermöglicht wird.
Numpyarray

Numpy-Array-Speicherzuweisung

Java zu JSON-Objekt

Wenn NumPy nicht auf Ihrem System installiert ist, können Sie dies tun, indem Sie die folgenden Schritte ausführen. Nach der Installation von NumPy können Sie es wie folgt in Ihr Programm importieren

import numpy as np>

Notiz: Hier ist np ein häufig verwendeter Alias ​​für NumPy.

Datenzuordnung im Numpy-Array

In NumPy werden Daten zusammenhängend im Speicher zugewiesen und folgen dabei einem genau definierten Layout, das aus Datenpuffer, Form und Schritten besteht. Dies ist für einen effizienten Datenzugriff, vektorisierte Operationen und die Kompatibilität mit Low-Level-Bibliotheken wie z. B. von entscheidender Bedeutung BLAS Und LAPACK .

  1. Datenpuffer: Der Datenpuffer in NumPy ist ein einzelner, flacher Speicherblock, der die tatsächlichen Elemente des Arrays speichert, unabhängig von seiner Dimensionalität. Dies ermöglicht effiziente elementweise Operationen und Datenzugriff.
  2. Form: Die Form eines Arrays ist ein Tupel aus ganzen Zahlen, das die Dimensionen entlang jeder Achse darstellt. Jede Ganzzahl entspricht der Größe des Arrays entlang einer bestimmten Dimension, die die Anzahl der Elemente entlang jeder Achse definiert und für die korrekte Indizierung und Umformung des Arrays unerlässlich ist.
  3. Schritte: Schritte sind Tupel von Ganzzahlen, die die Anzahl der Bytes definieren, die in jeder Dimension beim Übergang von einem Element zum nächsten durchlaufen werden sollen. Sie bestimmen den Abstand zwischen Elementen im Speicher und messen, wie viele Bytes erforderlich sind, um in jeder Dimension von einem Element zum anderen zu gelangen.

2

Abschluss

Das NumPy-Array in Python ist eine sehr nützliche Datenstruktur und ermöglicht es uns, verschiedene wissenschaftliche Operationen an den Daten durchzuführen. Es handelt sich um eine sehr speichereffiziente Datenstruktur, die gegenüber anderen Python-Sequenzen zahlreiche Vorteile bietet.

In diesem Tutorial haben wir NumPy-Arrays ausführlich erklärt. Wir haben die Definition, Dimensionalität, warum es schnell ist und wie die Datenzuweisung in einem Array funktioniert, behandelt. Nach Abschluss dieses Tutorials verfügen Sie über umfassende Kenntnisse des NumPy-Arrays und können es in Ihren Python-Projekten implementieren.