Moniulotteinen Indeksointi
Nyt kun osaat käyttää elementtejä 1D-taulukoissa, on aika oppia indeksoinnista korkeamman ulottuvuuden taulukoissa.
2D-taulukoiden indeksointi
Tämä on 2x3
taulukko, mikä tarkoittaa, että se koostuu 2
1D-taulukosta pitkin akselia 0, ja jokaisessa näistä 1D-taulukoista on 3
elementtiä pitkin akselia 1.
Alla olevat kuvat selventävät positiivista ja negatiivista indeksointia 2D-taulukoissa (taulukon arvot on esitetty mustalla, ja indeksit on esitetty vihreällä positiivisille indekseille ja punaisella negatiivisille indekseille):
Elementtien käsittely 2D-taulukoissa
1D-taulukoissa pääsimme käsiksi elementteihin määrittämällä elementin indeksin hakasulkeissa. Jos teemme saman 2D-taulukoissa, saamme määritetyssä indeksissä olevan 1D-taulukon, mikä voi olla juuri se, mitä tarvitsemme.
Jos kuitenkin haluamme hakea tietyn elementin sisäisestä 1D-taulukosta, meidän tulisi määrittää 1D-taulukon indeksi (akselilla 0) ja sen elementin indeksi (akselilla 1), esim. array[0, 1]
. Voisimme myös kirjoittaa array[0][1]
kuten Pythonin list
-rakenteessa, mutta tämä on vähemmän tehokasta, koska se suorittaa haun kahdesti jokaiselle indeksille yhden kerran sijaan.
Huomio
Jos määritetty indeksi on rajojen ulkopuolella, heitetään
IndexError
, joten ole varovainen sen suhteen.
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])
Alla oleva kuva näyttää tehtävässä käytetyn stock_prices
-taulukon rakenteen:
Swipe to start coding
stock_prices
sisältää simuloituja osakekursseja viideltä päivältä viidelle eri yritykselle. Jokainen rivi vastaa tiettyä yritystä, ja jokainen sarake vastaa tiettyä päivää. Näin ollen jokainen elementti matriisissa edustaa tietyn yrityksen osakkeen päätöskurssia tiettynä päivänä.
-
Hae kaikkien ensimmäisen yrityksen osakekurssit viiden päivän ajalta käyttäen positiivista indeksointia.
-
Hae kolmannen yrityksen osakekurssi toisena päivänä käyttäen positiivista indeksointia.
-
Hae viimeisen yrityksen osakekurssi viimeisenä päivänä käyttäen negatiivista indeksointia.
Ratkaisu
Kiitos palautteestasi!