Arvojen Määrittäminen Indeksoiduille Alitaulukoille
Indeksoitujen taulukoiden kanssa asiat alkavat muuttua mielenkiintoisemmiksi. Tässä keskitymme 1D- ja 2D-alikenttiin, sillä 3D-alikenttiä käytetään harvoin käytännössä.
Aloitetaan ensin arvojen määrittämisestä viipaleille. Yleinen syntaksi näyttää tältä: slice = values
, missä slice
on tietyn taulukon viipale ja values
ovat arvot, jotka määritetään.
Mahdolliset values
-muodot:
yksittäinen skalaariluku;
1D-taulukko, jonka koko on sama kuin viipaleen (jos se on 1D); tai toisen ulottuvuuden koko (jos viipale on 2D);
2D-taulukko, jonka muoto on sama kuin 2D-viipaleen.
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Kun annamme skalaarin 1D-leikkeelle, tämä skalaari annetaan jokaiselle elementille leikkeessä. Kun 1D-taulukko annetaan 2D-leikkeelle, tämä 1D-taulukko annetaan jokaiselle 1D-taulukolle leikkeessä. Skalaarin antaminen 2D-leikkeelle toimii samalla tavalla kuin 1D-leikkeen kanssa.
Arvojen antaminen kokonaislukutaulukkoindeksoiduille osataulukoille toimii samalla tavalla kuin leikkeiden kanssa. Arvojen antaminen boolean-indeksoiduille osataulukoille toimii samalla tavalla kuin 1D-leikkeiden kanssa.
Swipe to start coding
Hallitset tuotteen hintojen ja arvioiden tietojoukkoa. Hinnat tallennetaan prices
-taulukkoon ja arviot (asteikolla 10) tallennetaan ratings
-taulukkoon, jossa jokainen rivi edustaa eri tuotekategoriaa. Tehtäväsi on päivittää hinnat ja arviot tiettyjen kriteerien perusteella:
- Aseta arvo
20
jokaiselleprices
-taulukon elementille, joka on suurempi kuin 10 (boolean-indeksointi) käyttäen skalaari. - Aseta NumPy-taulukko, jonka elementit ovat
9
,8
, toisen rivin (toinen 1D-taulukko) kahdelle viimeiselle elementilleratings
-taulukossa. Käytä positiivista rivin indeksiä ja leikkausta, joka määrittää vainstart
(positiivinen indeksi).
Ratkaisu
Kiitos palautteestasi!