Numpy Indexierung

Numpy Indexierung
„Numpy ist ein Paket in Python, das für Berechnungen auf n-dimensionalen Arrays verwendet wird. Achsen sind das, was Numpy als Abmessungen bezeichnet, und eine Operation ist, was die Indexierung ist. Verwenden Sie die Indexierungsfunktion, um eine bestimmte Sammlung von Werten aus einem Numpy -Array abzurufen. Der Wert und die Platzierung des Wertes im Array sind unterschiedliche Dinge; Daher müssen wir berücksichtigen, dass der Index in einem NDarray bei Null beginnt. In diesem Artikel werden wir die Numpy -Indexierung untersuchen und erklären, wie Werte aus einem Array mit seinen Indizes abgerufen werden können.”

Was ist Numpy -Indexierung?

Um Werte in eindimensionalen und mehrdimensionalen Arrays zuzugreifen, verwendet Python die Numpy Array-Indexierung. C-Order-Indexierung wird von Numpy verwendet. Dementsprechend wird der am schnellsten verändernde Speicherort typischerweise durch den endgültigen Index dargestellt, während der erste Index typischerweise denselben Speicherort angibt.

Standard Python hat die Syntax "x [obj]", wobei x ein Array ist, und OBJ (ein Objekt) ist eine Auswahl. Sie können verwendet werden, um NDarrays je nach Objekttyp zu indizieren. Die beiden heute abgedeckten Indextypen sind die grundlegende Indizierung und die erweiterte Indexierung. Die Beispiele, die wir verwenden, erleichtert es leicht zu verstehen, wie die Indexierung verwendet wird, wenn Sie sich auf Daten in einem Array beziehen.

Beispiel 1

Der erste Fall ist die grundlegende Indizierung. Indexierung und Division entlang der Array -Dimensionen werden als Basisindexierung bezeichnet. Es gibt drei Arten von grundlegender Indexierung: Elementindexierung, grundlegende Schneiden und dimensionale Indexierungswerkzeuge, die „Ellipsen“ und „neue Achsen“ enthalten.”

Unser erster Fall zeigt die Verwendung der Einzelelement-Indexierung in der grundlegenden Indexierung.

Numph als NP importieren
a = np.Arange (20)
drucken (a [8])
drucken (a [-5])

Wie wir aus der Ausgabe erkennen können, funktioniert die grundlegende Indexierung genau wie jede andere Standard -Python -Sequenz. Es ist auf Null basiert und ermöglicht negative Indizes, am Ende des Arrays zu beginnen. Hier haben wir mit dem Code zuerst die Variable „A“ definiert und den Wert mit dem NP übergeben.Arangefunktion und wählte dann die negative Ganzzahl 5 aus, um den Ausgang zu berechnen.

Beispiel 2

Unser zweites Beispiel zeigt die Verwendung von Basic Slicing. Basic Slicing erweitert das grundlegende Konzept des Schneidens in Python auf N -Dimensionen und tritt auf, wenn „obj“ eine Kombination von Slice -Objekten und Ganzzahlen oder einem Ganzzahl -Slice -Objekt ist. Die grundlegende Slice-Syntax ist x: y: z, wobei x den Startindex darstellt, y den Stoppindex darstellt, und Z ist der Schritt ungleich Null.

Schauen wir uns nun den Code an:

Numph als NP importieren
a = np.Array ([7, 8, 9, 10, 11, 12, 13, 14, 15])
Druck (A [2: 11: 3])

Das Ergebnis, das wir erhalten, ist:

Negative x und y werden als n + x und + y interpretiert, wobei n die Anzahl der Elemente in der entsprechenden Dimension darstellt. Negativer Z führt dazu, dass es zu kleineren Indizes tritt. Wenn wir die gleichen Werte von oben verwenden, führen wir den folgenden Code aus, um das Array -Ergebnis zu erhalten. Der Code ist ein [-7: 15] und das Array ist sein Ergebnis.

Die Ausgabe wird hier angegeben.

Für die folgenden Abmessungen wird angenommen, dass es weniger als N -Objekte in der Auswahltuple gibt. Der Code ist:

Hier wird (2, 3, 1) erzeugt, wie Sie unten sehen können.

Beispiel 3

In diesem Beispiel werden wir die Dimensionalindizierungswerkzeuge Ellipsis und Newaxis sowie eine Kombination der beiden verwenden.

Siehe den angehängten Bildschirm unten.

Beide Codes entsprechen einander, und das Ausführen einer dieser Codes ergibt die gleiche Ausgabe.

Hier ist eine Idee, wir sollten uns zwei Arten der Indexierung anschließen, dem Grund- und Fortgeschrittenen:

A […, 0]
a [:,:, 0
Numph als NP importieren
print ('Kombination aus grundlegender und erweiterter Indexierung:')
a = np.Arange (6)
drucken (a [: np.Newaxis] + a [NP.Newaxis,:])

Die definierte Variable „A“ verwendet den NP.Arange -Funktion und übergibt den Wert "6". Die zweite Codezeile deklariert den Wert der Variablen als „[: np. Newaxis] + a [NP.Newaxis ,:] ”. Die Ausgabe für das Ausführen des Code ist wie unten.

Jetzt übergehen wir zur Advanced Indexing in Numpy Indexierung.

Beispiel 4

Dieser Fall befasst sich mit der ersten Art der erweiterten Indexierung, die als Integer -Indexierung bezeichnet wird. Jedes Element der ersten Dimension ist mit einem Element der zweiten Dimension bei der Indexierung mit Ganzzahlen kombiniert. Infolgedessen werden die entsprechenden Elemente in diesem Beispiel mit den Elementindizes (0,0), (1,0) und (2,1) ausgewählt.

Numph als NP importieren
a = np.Array ([7, 8], [9, 10], [11, 12]])
print (a [0, 1, 1], [0, 0, 1]])

Die Ausgabe ist:

Beispiel 5

In diesem Beispiel sollten wir versuchen, die grundlegende Indexierung und die erweiterte Indexierung zu kombinieren.

Numph als NP importieren
a = np.Array ([[7, 8, 9], [10, 11, 12],
[13, 14, 15], [16, 17, 18]])
Druck (a [1: 2, 1: 3])
Druck (a [1: 2, [1,2]])

Zuerst geben wir den Befehl ein, um Numpy zu importieren, dann definieren wir die Variable „A“ und übergeben dann den Wert mit dem NP.Array -Funktion. Die Ausgabe, die wir erhalten, ist:

Beispiel 6

Sprechen wir über Boolesche Ausdrücke als Index. Es ist ein logischer Ausdruck, der entweder zu „wahr“ oder „falsch“ führt. Nur die Elemente, die den booleschen Ausdruck erfüllen, werden zurückgegeben. Mit dieser Methode werden die erforderlichen Elementwerte gefiltert.

Unser Szenario besteht darin, eine Zahl von mehr als 15 aus einigen Werten auszuwählen. Der Code, den wir ausführen, lautet: '

Numph als NP importieren
a = np.Array ([5, 8, 15, 17, 20])
drucken (a> 15])

Nach dem Definieren der Variablen und der Übergabe der obigen Werte an den NP.Array -Funktion drucken wir für einen Wert, der größer als die Nummer 15 ist, und erhalten die folgende Ausgabe:

Wenn es nur ein Boolean-Array und kein ganzzahliges Array gibt, ist die Ausgangsform eindimensional und enthält die Anzahl der tatsächlichen Elemente des Booleschen Arrays, gefolgt von den verbleibenden Abmessungen des zu indizierten Arrays. Lassen Sie uns den folgenden Code ausführen:

Numpy importieren
ABC = Numpy.Arange (15).Umformung (3, 5)
yz = abc> 20
print (yz [:, 3])

Die Funktionen, die wir in diesem Code verwenden, sind die von NP.arange () und reshape () nach der Definition der Variablen als „ABC“ und der zweiten Variablen als „yz“, deren Wert „ABC“ ist, ist größer als 15.

Nachdem wir den Code ausführen, erhalten wir das folgende Ergebnis.

Abschluss

In diesem Artikel haben wir die Definition der Numpy -Indexierung sowie zwei verschiedene Arten von Numpy -Indexierung gelernt, die weiter in mehrere Kategorien und Funktionen unterteilt sind. In verschiedenen Beispielen haben wir verschiedene Möglichkeiten gelernt, die Numpy -Indexierung in Form der grundlegenden und erweiterten Indexierung zu verwenden. Wir kombinieren auch die Arten der Indexierung, um zu überprüfen, was das Ergebnis sein würde. Probieren Sie die angegebenen Beispiele aus und sehen Sie, wie sie für Sie funktionieren, um etwas über die Python Numpy -Indexierung zu lernen.