Skæring i 2D-Arrays
Skæring i 2D og højere-dimensionelle arrays fungerer på samme måde som skæring i 1D arrays. Dog er der to akser i 2D arrays.
Hvis vi ønsker at udføre skæring kun på akse 0 for at hente 1D arrays, forbliver syntaksen den samme: array[start:end:step]
. Hvis vi ønsker at udføre skæring på elementerne i disse 1D arrays (akse 1), er syntaksen som følger: array[start:end:step, start:end:step]
. Grundlæggende svarer antallet af skæringer til antallet af dimensioner i et array.
Desuden kan vi bruge skæring for én akse og grundlæggende indeksering for den anden akse. Lad os se på et eksempel på 2D skæring (lilla firkanter repræsenterer de elementer, der hentes fra skæring, og den sorte pil indikerer, at elementerne tages i omvendt rækkefølge):
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
Billedet nedenfor viser strukturen af student_scores
arrayet, der bruges i opgaven:
Swipe to start coding
Du arbejder med et 2D NumPy array, der repræsenterer karaktererne for tre studerende i tre forskellige fag. Karaktererne for hver studerende er gemt i en separat række, hvor hvert element repræsenterer karakteren i et specifikt fag.
-
Opret en skive af
student_scores
, der inkluderer de sidste to karakterer for den første studerende (første række). -
Brug grundlæggende indeksering (positiv indeksering) og skæring, hvor du kun angiver en positiv
start
.
Løsning
Tak for dine kommentarer!