Menu
Coddy logo textTech

Array-Indizierung

Lektion 12 von 18 im Kurs Numpy Grundlagen von Coddy.

Ein weiteres großartiges Feature in Numpy ist die Möglichkeit, bestimmte Indizes aus einem Array auszuwählen. Platzieren Sie eine List innerhalb der [] Klammern und geben Sie an, welche Indizes Sie auswählen möchten: ary[indices] 

Beispiel 1

Abrufen der 0., 2., 4. Elemente:

x = np.arange(5, 15) # np.array([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
x[[0, 2, 4]]
>>> [5, 7, 9]

Beispiel 2

Abrufen des ersten und letzten Elements (aber nun aus einem 2D-Array)

x = np.array([[0, 1], [2, 3], [4, 5], [6, 7]])
x[[0, -1]]
>>> [[0, 1], [6, 7]]

Wie sieht es mit dem Abrufen spezifischer Elemente aus einem 2D-Array aus?

Wir verwenden ary[[Row indices], [Element indices]]

Beispiel 3

Abrufen des ersten und letzten Elements aus der 2. und 3. Zeile

x = np.array([
	[ 0,  1,  2,  3,  4,  5],
	[ 6,  7,  8,  9, 10, 11],
	[12, 13, 14, 15, 16, 17],
	[18, 19, 20, 21, 22, 23],
])
x[[1, 1, 2, 2], [0, -1, 0, -1]]
>>> [6, 11, 12, 17]

Was ist passiert?

Numpy schaut auf den entsprechenden Index jeder Liste innerhalb der Klammer [] und gibt das Element zurück:

x[[1, 1, 2, 2], [0, -1, 0, -1]]

  • x[1, 0]  # --> 6
  • x[1, -1] # --> 11
  • x[2, 0]  # --> 12
  • x[2, -1] # --> 17

Wie erhält man aus allen Zeilen den ersten und letzten Index?

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

challenge icon

Aufgabe

Einfach

Gegeben sei ein 2D-Array ary. Rufen Sie alle Zahlen ab, die ohne Rest durch fünf teilbar sind (0, 5, 10, ...), mit den Methoden, die wir in dieser Lektion gelernt haben.

Probier es selbst

import numpy as np
'''
ary looks like:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])
'''
ary = np.arange(0, 20).reshape(4, 5)  # don't change ary
res = ary[]  # <-- Complete indices
print(str(res).replace("\n", ""))  # don't change this line

Alle Lektionen in Numpy Grundlagen