Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Arvojen Määrittäminen Indeksoiduille Alitaulukoille | Indeksointi ja Viipalointi
Lopullinen NumPy

Pyyhkäise näyttääksesi valikon

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

123456789101112131415161718
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)
copy

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.

Tehtävä

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:

  1. Aseta arvo 20 jokaiselle prices-taulukon elementille, joka on suurempi kuin 10 (boolean-indeksointi) käyttäen skalaari.
  2. Aseta NumPy-taulukko, jonka elementit ovat 9, 8, toisen rivin (toinen 1D-taulukko) kahdelle viimeiselle elementille ratings-taulukossa. Käytä positiivista rivin indeksiä ja leikkausta, joka määrittää vain start (positiivinen indeksi).

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 10
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

123456789101112131415161718
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)
copy

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.

Tehtävä

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:

  1. Aseta arvo 20 jokaiselle prices-taulukon elementille, joka on suurempi kuin 10 (boolean-indeksointi) käyttäen skalaari.
  2. Aseta NumPy-taulukko, jonka elementit ovat 9, 8, toisen rivin (toinen 1D-taulukko) kahdelle viimeiselle elementille ratings-taulukossa. Käytä positiivista rivin indeksiä ja leikkausta, joka määrittää vain start (positiivinen indeksi).

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 10
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt