Multidimensionel Indeksering
Nu hvor du er i stand til at få adgang til elementer i 1D-arrays, er det tid til at lære om indeksering i højere-dimensionelle arrays.
2D Arrays Indeksering
Dette er en 2x3
array, hvilket betyder, at den består af 2
1D arrays langs akse 0, og hver af disse 1D arrays har 3
elementer langs akse 1.
Billederne nedenfor vil tydeliggøre positiv og negativ indeksering i 2D arrays (arrayværdier vises i sort, og indekser vises i grøn for positive indekser og rød for negative indekser):
Adgang til elementer i 2D-arrays
I 1D-arrays tilgik vi elementer ved at specificere indekset for elementet i firkantede parenteser. Hvis vi gør det samme i 2D-arrays, henter vi en 1D-array ved det angivne indeks, hvilket kan være præcis det, vi har brug for.
Men hvis vi ønsker at hente et bestemt element af en indre 1D-array, skal vi specificere indekset for 1D-arrayen (langs akse 0) og indekset for dens element (langs akse 1), f.eks. array[0, 1]
. Vi kunne også skrive array[0][1]
som vi gør med Python list
, men dette er mindre effektivt, da det udfører søgningen to gange for hvert indeks i stedet for én gang.
Bemærk
Hvis et angivet indeks er uden for grænserne, kastes en
IndexError
, så vær opmærksom på det.
12345678import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Accessing the first element (1D array) with positive index print(array_2d[0]) # Accessing the second element of the first 1D array with positive index print(array_2d[0, 1]) # Accessing the last element of the last 1D array with negative index print(array_2d[-1, -1])
Billedet nedenfor viser strukturen af stock_prices
arrayen brugt i opgaven:
Swipe to start coding
stock_prices
indeholder simulerede aktiekurser over fem dage for fem forskellige virksomheder. Hver række svarer til en bestemt virksomhed, og hver kolonne svarer til en bestemt dag. Derfor repræsenterer hvert element i matricen lukkekursen for en bestemt virksomheds aktie på en given dag.
-
Hent alle aktiekurserne for den første virksomhed over fem dage ved hjælp af positiv indeksering.
-
Hent aktiekursen for den tredje virksomhed på den anden dag ved hjælp af positiv indeksering.
-
Hent aktiekursen for den sidste virksomhed på den sidste dag ved hjælp af negativ indeksering.
Løsning
Tak for dine kommentarer!
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat