Multidimensional Indeksering
Nå som du kan få tilgang til elementer i 1D-arrays, er det på tide å lære om indeksering i høyere-dimensjonale arrays.
2D Arrays Indeksering
Dette er en 2x3
matrise, som betyr at den består av 2
1D-arrayer langs akse 0, og hver av disse 1D-arrayene har 3
elementer langs akse 1.
Bildene nedenfor vil klargjøre positiv og negativ indeksering i 2D-arrayer (arrayverdier vises i svart, og indekser vises i grønn for positive indekser og rød for negative indekser):
Tilgang til elementer i 2D-arrays
I 1D-arrays fikk vi tilgang til elementer ved å spesifisere indeksen til elementet i firkantede parenteser. Hvis vi gjør det samme i 2D-arrays, henter vi en 1D-array på den angitte indeksen, noe som kan være akkurat det vi trenger.
Men hvis vi ønsker å hente et bestemt element i en indre 1D-array, bør vi spesifisere indeksen til 1D-arrayen (langs akse 0) og indeksen til elementet (langs akse 1), f.eks. array[0, 1]
. Vi kunne også skrive array[0][1]
som vi gjør med Python list
, men dette er mindre effektivt siden det utfører søket to ganger for hver indeks i stedet for én gang.
Merk
Hvis en angitt indeks er utenfor grensene, kastes en
IndexError
, så vær oppmerksom på det.
import 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])
Bildet nedenfor viser strukturen til stock_prices
-arrayen brukt i oppgaven:
Swipe to start coding
stock_prices
inneholder simulerte aksjepriser over fem dager for fem forskjellige selskaper. Hver rad tilsvarer et bestemt selskap, og hver kolonne tilsvarer en bestemt dag. Følgelig representerer hvert element i matrisen sluttkursen på et bestemt selskaps aksje på en gitt dag.
-
Hent alle aksjeprisene til det første selskapet over fem dager ved å bruke positiv indeksering.
-
Hent aksjeprisen til det tredje selskapet på den andre dagen ved å bruke positiv indeksering.
-
Hent aksjeprisen til det siste selskapet på den siste dagen ved å bruke negativ indeksering.
Løsning
Takk for tilbakemeldingene dine!