Kokonaislukutaulukon Indeksointi
Pyyhkäise näyttääksesi valikon
Perusindeksoinnin lisäksi, jossa käytetään yksittäistä kokonaislukua indeksinä, NumPy mahdollistaa myös kokonaisen yksiulotteisen kokonaislukutaulukon (myös kokonaislukulista on mahdollinen) käytön indeksointiin.
Kokonaislukutaulukkoindeksointi yksiulotteisissa taulukoissa
Jokainen indeksointiin käytetyn kokonaislukutaulukon alkio käsitellään indeksinä, joten esimerkiksi array[[0, 1, 3]] hakee alkiot indekseistä 0, 1 ja 3 muodostaen yksiulotteisen taulukon, olettaen että array on yksiulotteinen taulukko. Myös NumPy-taulukoita voi käyttää indeksointiin, mutta se tekee koodista hankalampaa.
12345678import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
Kokonaislukutaulukon indeksointi 2D-taulukoissa
Kaksidimensioisissa ja korkeamman ulottuvuuden taulukoissa kokonaislukutaulukon indeksointi toimii samalla tavalla kuin 1D-taulukoissa jokaisella akselilla. Jos käytät vain yhtä kokonaislukutaulukkoa indeksointiin, indeksoit vain yhdellä akselilla (akseli 0). Jos käytät kahta taulukkoa pilkulla erotettuna, indeksoit molemmilla akseleilla (akseli 0 ja akseli 1).
Indeksointi vain akselilla 0 kokonaislukutaulukon avulla palauttaa 2D-taulukon. Kun haet alkioita tällaisella indeksoinnilla, ryhmittelet ne uuteen taulukkoon. Tämä uusi taulukko koostuu 1D-taulukoista, ja ryhmittely kasvattaa ulottuvuuden yhdellä, jolloin tuloksena on 2D-taulukko. Indeksointi sekä akselilla 0 että akselilla 1 kahden kokonaislukutaulukon avulla palauttaa 1D-taulukon.
Kaikkien akseleilla käytettyjen kokonaislukutaulukoiden on oltava samanmuotoisia.
123456789101112131415import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
Kuten huomaat, voit myös yhdistää perus kokonaislukuindeksoinnin ja kokonaislukutaulukkoindeksoinnin.
Jälleen kerran, jos vähintään yksi indekseistä on sallitun alueen ulkopuolella, heitetään IndexError.
Tällaista indeksointia käytetään, kun halutaan valita tiettyjä alkioita, jotka eivät ole vierekkäin tai eivät noudata säännöllistä järjestystä. Toisin kuin viipalointi, joka toimii yhtenäisillä alueilla, tämä menetelmä mahdollistaa täsmälleen haluttujen alkioiden valitsemisen. Se on hyödyllinen, kun halutaan poimia hajanaista dataa tai järjestellä taulukon arvoja uudelleen.
1. Analysoit viiden tuotteen kuukausittaista myyntidataa (tuhansina). Mikä on koodin tuloste?
2. temperatures-taulukko esittää kolmen kaupungin viikon lämpötilat (°C) maanantaina, tiistaina ja keskiviikkona. Valitse oikea vaihtoehto hakeaksesi Berliinin lämpötilat maanantaina ja tiistaina sekä Madridin lämpötila tiistaina.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme