Moniulotteinen Indeksointi
Nyt kun osaat hakea alkioita yksiulotteisista taulukoista, on aika oppia indeksointia moniulotteisissa taulukoissa.
2D-taulukoiden indeksointi
Tämä on 2x3-taulukko, mikä tarkoittaa, että se koostuu 2 yksiulotteisesta taulukosta pitkin akselia 0, ja jokaisessa näistä yksiulotteisista taulukoista on 3 alkiota pitkin akselia 1.
Alla olevat kuvat havainnollistavat positiivista ja negatiivista indeksointia kaksiulotteisissa taulukoissa (taulukon arvot on esitetty mustalla, positiiviset indeksit vihreällä ja negatiiviset indeksit punaisella):
Alkiot 2D-taulukoissa
Yksiulotteisissa taulukoissa alkiot haettiin määrittämällä alkion indeksi hakasulkeissa. Jos teemme saman kaksiulotteisissa taulukoissa, saamme kyseisessä indeksissä olevan 1D-taulukon, mikä voi olla juuri haluttu tulos.
Jos kuitenkin haluamme hakea tietyn alkion sisemmästä 1D-taulukosta, meidän tulee määrittää 1D-taulukon indeksi (akseli 0) sekä sen alkion indeksi (akseli 1), esimerkiksi array[0, 1]. Voimme myös kirjoittaa array[0][1] kuten Pythonin list-rakenteessa, mutta tämä on tehottomampaa, koska haku suoritetaan kahdesti jokaista indeksiä kohden yhden sijaan.
Jos annettu indeksi on taulukon ulkopuolella, heitetään IndexError-virhe, joten ole tarkkana tämän kanssa.
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])
Alla oleva kuva esittää tehtävässä käytetyn stock_prices-taulukon rakenteen:
Swipe to start coding
stock_prices sisältää simuloidut osakekurssit viideltä päivältä viidelle eri yritykselle. Jokainen rivi vastaa tiettyä yritystä, ja jokainen sarake tiettyä päivää. Näin ollen jokainen alkio matriisissa edustaa tietyn yrityksen osakkeen päätöskurssia tiettynä päivänä.
- Hae ensimmäisen yrityksen kaikki 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!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between positive and negative indexing in 2D arrays?
How do I access a specific row or column in a 2D array?
Why is using array[0, 1] more efficient than array[0][1]?
Awesome!
Completion rate improved to 3.7
Moniulotteinen Indeksointi
Pyyhkäise näyttääksesi valikon
Nyt kun osaat hakea alkioita yksiulotteisista taulukoista, on aika oppia indeksointia moniulotteisissa taulukoissa.
2D-taulukoiden indeksointi
Tämä on 2x3-taulukko, mikä tarkoittaa, että se koostuu 2 yksiulotteisesta taulukosta pitkin akselia 0, ja jokaisessa näistä yksiulotteisista taulukoista on 3 alkiota pitkin akselia 1.
Alla olevat kuvat havainnollistavat positiivista ja negatiivista indeksointia kaksiulotteisissa taulukoissa (taulukon arvot on esitetty mustalla, positiiviset indeksit vihreällä ja negatiiviset indeksit punaisella):
Alkiot 2D-taulukoissa
Yksiulotteisissa taulukoissa alkiot haettiin määrittämällä alkion indeksi hakasulkeissa. Jos teemme saman kaksiulotteisissa taulukoissa, saamme kyseisessä indeksissä olevan 1D-taulukon, mikä voi olla juuri haluttu tulos.
Jos kuitenkin haluamme hakea tietyn alkion sisemmästä 1D-taulukosta, meidän tulee määrittää 1D-taulukon indeksi (akseli 0) sekä sen alkion indeksi (akseli 1), esimerkiksi array[0, 1]. Voimme myös kirjoittaa array[0][1] kuten Pythonin list-rakenteessa, mutta tämä on tehottomampaa, koska haku suoritetaan kahdesti jokaista indeksiä kohden yhden sijaan.
Jos annettu indeksi on taulukon ulkopuolella, heitetään IndexError-virhe, joten ole tarkkana tämän kanssa.
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])
Alla oleva kuva esittää tehtävässä käytetyn stock_prices-taulukon rakenteen:
Swipe to start coding
stock_prices sisältää simuloidut osakekurssit viideltä päivältä viidelle eri yritykselle. Jokainen rivi vastaa tiettyä yritystä, ja jokainen sarake tiettyä päivää. Näin ollen jokainen alkio matriisissa edustaa tietyn yrityksen osakkeen päätöskurssia tiettynä päivänä.
- Hae ensimmäisen yrityksen kaikki 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!
single