Kapitel 10. Ausgefallene Indizierung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In den vorangegangenen Kapiteln haben wir besprochen, wie man mit einfachen Indizes (z. B. arr[0]), Slices (z. B. arr[:5]) und booleschen Masken (z. B. arr[arr > 0]) auf Teile von Arrays zugreift und diese verändert. In diesem Kapitel befassen wir uns mit einer anderen Art der Array-Indizierung, der so genanntenFancy- oder Vektor-Indizierung, bei der wir Arrays von Indizes anstelle von einzelnen Skalaren übergeben. So können wir sehr schnell auf komplizierte Teilmengen der Werte eines Arrays zugreifen und sie verändern.

Fancy Indexing erforschen

Fancy indexing ist konzeptionell einfach: Es bedeutet, dass ein Array von Indizes übergeben wird, um auf mehrere Arrayelemente gleichzeitig zuzugreifen. Betrachte zum Beispiel das folgende Array:

In [1]: import numpy as np
        rng = np.random.default_rng(seed=1701)

        x = rng.integers(100, size=10)
        print(x)
Out[1]: [90 40  9 30 80 67 39 15 33 79]

Angenommen, wir wollen auf drei verschiedene Elemente zugreifen. Wir könnten das so machen:

In [2]: [x[3], x[7], x[2]]
Out[2]: [30, 15, 9]

Alternativ können wir auch eine einzelne Liste oder ein Array mit Indizes übergeben, um das gleiche Ergebnis zu erhalten:

In [3]: ind = [3, 7, 4]
        x[ind]
Out[3]: array([30, 15, 80])

Wenn du Arrays mit Indizes verwendest, spiegelt die Form des Ergebnisses die Form der Index-Arrays wider und nicht die ...

Get Python Data Science Handbook, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.