0Pricing
Learn AI with Python · Lektion

Indexierung, Slicing und Fancy Indexing

Grundlegendes Slicing, boolesche Maskierung, Fancy Indexing und np.where() zur bedingten Auswahl.

Indexierung, Slicing und Fancy Indexing ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Grundlagen der Indizierung

NumPy-Arrays verwenden wie Python-Listen eine nullbasierte Indizierung. Negative Indizes zählen vom Ende her.

import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0])    # 10
print(a[-1])   # 50

1D-Slicing

Slices verwenden start:stop:step und geben eine Ansicht (keine Kopie) zurück. Wenn Sie einen Slice ändern, ändern Sie daher das Original.

print(a[1:4])    # [20 30 40]
print(a[::2])    # [10 30 50]
view = a[1:3]
view[0] = 99
print(a)         # [10 99 30 40 50]

2D-Indizierung [Zeile, Spalte]

Bei 2D-Arrays indizieren Sie mit einer einzelnen Klammer, die beide Koordinaten enthält: m[row, col]. Das ist übersichtlicher und schneller als m[row][col].

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

Zeilen und Spalten slicen

Verwenden Sie einen Doppelpunkt, um eine gesamte Achse auszuwählen. m[:, 1] wählt Spalte 1 über alle Zeilen hinweg aus.

print(m[0, :])    # first row:    [1 2 3]
print(m[:, 1])    # second col:   [2 5 8]
print(m[1:, :2])  # bottom-left block

Boolesche Masken

Ein Vergleich erzeugt ein boolesches Array mit derselben Form. Beim Indizieren mit dieser Maske bleiben nur die Positionen mit dem Wert True erhalten.

a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask)     # [False  True False  True False]
print(a[mask])  # [12 20]

Bedingungen kombinieren

Verwenden Sie elementweise & (und) und | (oder) mit Klammern. Die Python-Schlüsselwörter and/or funktionieren bei Arrays NICHT.

print(a[(a > 4) & (a < 15)])   # [ 5 12  7]

Zuweisungen durch eine Maske

Sie können an die maskierten Positionen schreiben, um Daten direkt zu bereinigen, beispielsweise indem Sie Ausreißer auf einen Höchstwert begrenzen.

a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a)   # [ 5 10  7 10  3]

Advanced Indexing mit Arrays

Übergeben Sie ein Array (oder eine Liste) ganzzahliger Indizes, um beliebige Elemente in jeder Reihenfolge auszuwählen, auch mit Wiederholungen. Dies gibt eine Kopie und keine Ansicht zurück.

a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx])   # [50 10 30 30]

Advanced Indexing in 2D

Geben Sie zwei Index-Arrays an, um bestimmte (Zeile, Spalte)-Paare auszuwählen. Hier greifen wir auf die Eckpunkte der Diagonalen zu.

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols])   # [1 9]

Bedingte Auswahl mit np.where

np.where(cond, x, y) gibt an den Positionen, an denen die Bedingung True ist, Elemente aus x zurück und sonst aus y – ein vektorisiertes If-Else.

a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a))   # [0 5 0 3]  (clip negatives)

Mit np.where Indizes finden

Mit einem Argument aufgerufen, gibt np.where(cond) die Indizes zurück, an denen die Bedingung erfüllt ist.

a = np.array([10, 20, 30, 40])
print(np.where(a > 15))   # (array([1, 2, 3]),)

Kurzer Test

Testen Sie Ihre Kenntnisse zur Indizierung.

Zusammenfassung

Auswahltechniken:

  • Grundlegende Indizes und Slices (Slices sind Ansichten)
  • 2D-Zugriff mit m[row, col], vollständige Achsen mit :
  • Boolesche Masken mit & und |
  • Advanced Indexing mit Arrays von Indizes (gibt eine Kopie zurück)
  • np.where(cond, x, y) für vektorisiertes If-Else

Häufig gestellte Fragen

Ist die Lektion „Indexierung, Slicing und Fancy Indexing“ kostenlos?

Ja — der vollständige Text von „Indexierung, Slicing und Fancy Indexing“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Indexierung, Slicing und Fancy Indexing“?

Grundlegendes Slicing, boolesche Maskierung, Fancy Indexing und np.where() zur bedingten Auswahl. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Indexierung, Slicing und Fancy Indexing“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Arrays erstellen und ihre Eigenschaften verstehen
  2. Indexierung, Slicing und Fancy Indexing
  3. Broadcasting und vektorisierte Operationen
  4. Lineare Algebra mit NumPy
← Zurück zu Learn AI with Python