Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Arvojen Asettaminen Indeksoiduille Osataulukoille | Indeksointi ja Viipalointi
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Numpy Perusteet

bookArvojen Asettaminen Indeksoiduille Osataulukoille

Indeksoitujen taulukoiden kanssa asiat muuttuvat mielenkiintoisemmiksi. Tässä keskitytään 1D- ja 2D-alikenttiin, sillä 3D-alikenttiä käytetään harvoin käytännössä.

Aloitetaan arvojen asettamisesta viipaleille. Yleinen syntaksi on seuraava: slice = values, missä slice on tietyn taulukon viipale ja values ovat asetettavat arvot.

Mahdolliset values-muodot:

  • Yksittäinen skalaari (luku);
  • 1D-taulukko, jonka koko vastaa viipaleen kokoa (jos se on 1D); tai toisen ulottuvuuden kokoa (jos viipale on 2D);
  • 2D-taulukko, jonka muoto vastaa 2D-viipaletta.
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 skalaari asetetaan 1D-viipaleelle, tämä skalaari asetetaan jokaiseen viipaleen alkioon. Kun 1D-taulukko asetetaan 2D-viipaleelle, tämä 1D-taulukko asetetaan jokaiseen 1D-taulukkoon viipaleessa. Skalaariarvon asettaminen 2D-viipaleelle toimii samalla tavalla kuin 1D-viipaleella.

Arvojen asettaminen kokonaislukutaulukolla indeksoituihin alikenttiin toimii samalla tavalla kuin viipaleilla. Arvojen asettaminen totuusarvoindeksoituihin alikenttiin toimii samalla tavalla kuin 1D-viipaleilla.

Tehtävä

Swipe to start coding

Hallitset tuotehintojen ja -arvostelujen tietojoukkoa. Hinnat tallennetaan taulukkoon prices ja arvostelut (asteikolla 10) taulukkoon ratings. Tehtävänäsi on päivittää nämä seuraavien ehtojen mukaisesti:

  1. Aseta arvo 20 kaikkiin prices-taulukon alkioihin, joiden arvo on suurempi kuin 10, käyttäen skalaaria.
  2. Aseta NumPy-taulukko, jonka alkiot ovat 9, 8, ratings-taulukon toisen rivin kahteen viimeiseen alkioon. Käytä positiivista rivi-indeksiä ja viipalointia.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 10
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

close

bookArvojen Asettaminen Indeksoiduille Osataulukoille

Pyyhkäise näyttääksesi valikon

Indeksoitujen taulukoiden kanssa asiat muuttuvat mielenkiintoisemmiksi. Tässä keskitytään 1D- ja 2D-alikenttiin, sillä 3D-alikenttiä käytetään harvoin käytännössä.

Aloitetaan arvojen asettamisesta viipaleille. Yleinen syntaksi on seuraava: slice = values, missä slice on tietyn taulukon viipale ja values ovat asetettavat arvot.

Mahdolliset values-muodot:

  • Yksittäinen skalaari (luku);
  • 1D-taulukko, jonka koko vastaa viipaleen kokoa (jos se on 1D); tai toisen ulottuvuuden kokoa (jos viipale on 2D);
  • 2D-taulukko, jonka muoto vastaa 2D-viipaletta.
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 skalaari asetetaan 1D-viipaleelle, tämä skalaari asetetaan jokaiseen viipaleen alkioon. Kun 1D-taulukko asetetaan 2D-viipaleelle, tämä 1D-taulukko asetetaan jokaiseen 1D-taulukkoon viipaleessa. Skalaariarvon asettaminen 2D-viipaleelle toimii samalla tavalla kuin 1D-viipaleella.

Arvojen asettaminen kokonaislukutaulukolla indeksoituihin alikenttiin toimii samalla tavalla kuin viipaleilla. Arvojen asettaminen totuusarvoindeksoituihin alikenttiin toimii samalla tavalla kuin 1D-viipaleilla.

Tehtävä

Swipe to start coding

Hallitset tuotehintojen ja -arvostelujen tietojoukkoa. Hinnat tallennetaan taulukkoon prices ja arvostelut (asteikolla 10) taulukkoon ratings. Tehtävänäsi on päivittää nämä seuraavien ehtojen mukaisesti:

  1. Aseta arvo 20 kaikkiin prices-taulukon alkioihin, joiden arvo on suurempi kuin 10, käyttäen skalaaria.
  2. Aseta NumPy-taulukko, jonka alkiot ovat 9, 8, ratings-taulukon toisen rivin kahteen viimeiseen alkioon. Käytä positiivista rivi-indeksiä ja viipalointia.

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
single

single

some-alt