Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Multidimensionel Indeksering | Indeksering og Skæring
Ultimativ NumPy

book
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.

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])
12345678
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])
copy

Billedet nedenfor viser strukturen af stock_prices arrayen brugt i opgaven:

Opgave

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.

  1. Hent alle aktiekurserne for den første virksomhed over fem dage ved hjælp af positiv indeksering.

  2. Hent aktiekursen for den tredje virksomhed på den anden dag ved hjælp af positiv indeksering.

  3. Hent aktiekursen for den sidste virksomhed på den sidste dag ved hjælp af negativ indeksering.

Løsning

import numpy as np
# Creating a 5x5 matrix representing stock prices
stock_prices = np.array([
[120, 130, 140, 150, 160],
[210, 220, 230, 240, 250],
[310, 320, 330, 340, 350],
[410, 420, 430, 440, 450],
[510, 520, 530, 540, 550]
])
# Retrieve all the stock prices of the first company over five days with a positive index
first_company_prices = stock_prices[0]
# Retrieve the stock price of the third company on the second day with positive indices
third_company_second_day_price = stock_prices[2, 1]
# Retrieve the stock price of the last company on the last day with negative indices
last_company_last_day_price = stock_prices[-1, -1]
print(first_company_prices)
print(third_company_second_day_price)
print(last_company_last_day_price)

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2
import numpy as np
# Creating a 5x5 matrix representing stock prices
stock_prices = np.array([
[120, 130, 140, 150, 160],
[210, 220, 230, 240, 250],
[310, 320, 330, 340, 350],
[410, 420, 430, 440, 450],
[510, 520, 530, 540, 550]
])
# Retrieve all the stock prices of the first company over five days with a positive index
first_company_prices = ___
# Retrieve the stock price of the third company on the second day with positive indices
third_company_second_day_price = ___
# Retrieve the stock price of the last company on the last day with negative indices
last_company_last_day_price = ___
print(first_company_prices)
print(third_company_second_day_price)
print(last_company_last_day_price)

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

We use cookies to make your experience better!
some-alt