NumPy Slicing und Indexierung

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

NumPy ist eine beliebte Python-Bibliothek, die für wissenschaftliches Rechnen verwendet wird. Es bietet hochleistungsfähige Array-Operationen und mathematische Funktionen, die für die numerische Datenanalyse nützlich sind. In diesem Lab werden Sie die Slicing- und Indexierungsfunktionen von NumPy lernen.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 96% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Slicen von Arrays

Das Slicen ist der Prozess, bei dem ein Teilmengen eines Arrays extrahiert wird, indem ein Bereich von Indizes angegeben wird. NumPy-Arrays können mit dem Doppelpunkt :-Operator gesliced werden.

Öffnen der Python-Shell

Öffnen Sie die Python-Shell, indem Sie den folgenden Befehl in der Konsole eingeben.

python3

Importieren von NumPy

NumPy ist bereits installiert. Sie können es in Ihrem Python-Code importieren:

import numpy as np

Slicen von Arrays in einer Dimension

## Erstellen eines 1-dimensionalen Arrays
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

## Slicen des Arrays von Index 2 bis Index 5
print(a[2:5])

Ausgabe:

[2 3 4]

Slicen von Arrays in mehreren Dimensionen

Sie können auch Arrays in mehreren Dimensionen slicen.

## Erstellen eines 2-dimensionalen Arrays
b = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])

## Slicen der ersten beiden Zeilen und der ersten beiden Spalten
print(b[:2, :2])

Ausgabe:

[[0 1]
 [3 4]]

Indexierung mit booleschen Arrays

Die boolesche Indexierung ist eine leistungsstarke Funktion, die uns ermöglicht, ein Array basierend auf einer Bedingung zu filtern. Sie können ein boolesches Array erstellen, indem Sie einen logischen Operator auf ein vorhandenes Array anwenden.

Erstellen eines 1-dimensionalen Arrays

c = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Erstellen eines booleschen Arrays basierend auf der Bedingung (c > 5)

mask = c > 5
print(mask)

Ausgabe:

[False False False False False False  True  True  True  True]

Filtern des ursprünglichen Arrays mit dem booleschen Array

print(c[mask])

Ausgabe:

[6 7 8 9]

Fancy Indexierung

Die Fancy Indexierung ist eine Methode, um ein Array mithilfe eines Indexarrays zu indizieren. Mit dieser Technik können Sie bestimmte Elemente oder Teilmengen eines Arrays extrahieren.

## Erstellen eines 1-dimensionalen Arrays
d = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

## Erstellen eines Indexarrays
indices = np.array([1, 3, 5])

## Verwenden der Fancy Indexierung, um die Elemente an den angegebenen Indizes zu extrahieren
print(d[indices])

Ausgabe:

[1 3 5]
  • Sie können die Fancy Indexierung auch verwenden, um bestimmten Elementen in einem Array Werte zuzuweisen.
## Erstellen eines 1-dimensionalen Arrays
e = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

## Erstellen eines Indexarrays
indices = np.array([1, 3, 5])

## Zuweisen des Wertes 10 an die Elemente an den angegebenen Indizes
e[indices] = 10
print(e)

Ausgabe:

[ 0 10  2 10  4 10  6  7  8  9]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das NumPy-Slicing- und Indexierungs-Lab abgeschlossen.

In diesem Lab haben Sie die Grundlagen des Slicings und Indexierens von NumPy-Arrays kennengelernt:

  • Mit Slicing können Sie ein Teilmengen eines Arrays extrahieren, indem Sie einen Bereich von Indizes angeben.
  • Die boolesche Indexierung ermöglicht es Ihnen, ein Array basierend auf einer Bedingung zu filtern.
  • Die Fancy Indexierung ermöglicht es Ihnen, bestimmte Elemente oder Teilmengen eines Arrays mithilfe eines Indexarrays zu extrahieren.