Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Viipalointi 2D-Taulukoissa | Indeksointi ja Viipalointi
Ultimate NumPy

bookViipalointi 2D-Taulukoissa

Viipalointi 2D- ja korkeamman ulottuvuuden taulukoissa toimii samalla tavalla kuin viipalointi 1D-taulukoissa. Kuitenkin 2D-taulukoissa on kaksi akselia.

Jos halutaan suorittaa viipalointi vain akselilla 0 ja hakea 1D-taulukoita, syntaksi pysyy samana: array[start:end:step]. Jos halutaan viipaloida näiden 1D-taulukoiden alkioita (akseli 1), syntaksi on seuraava: array[start:end:step, start:end:step]. Käytännössä viipalointien määrä vastaa taulukon ulottuvuuksien määrää.

Lisäksi voimme käyttää viipalointia yhdellä akselilla ja perusindeksointia toisella akselilla. Tarkastellaan esimerkkiä 2D-viipaloinnista (violetit ruudut kuvaavat viipaloinnilla haettuja alkioita ja musta nuoli osoittaa, että alkiot otetaan käänteisessä järjestyksessä):

1234567891011
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
copy

Alla oleva kuva esittää tehtävässä käytetyn student_scores-taulukon rakennetta:

Tehtävä

Swipe to start coding

Työskentelet 2D NumPy-taulukon kanssa, joka esittää kolmen opiskelijan pisteitä kolmessa eri aineessa. Jokaisen opiskelijan pisteet on tallennettu omaan riviinsä, ja jokainen alkio edustaa tietyn aineen pistettä.

  1. Luo student_scores-taulukosta viipale, joka sisältää ensimmäisen opiskelijan (ensimmäinen rivi) kaksi viimeistä pistettä.
  2. Käytä perusindeksointia (positiivinen indeksointi) ja viipalointia, määrittäen vain positiivinen start-arvo.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

bookViipalointi 2D-Taulukoissa

Pyyhkäise näyttääksesi valikon

Viipalointi 2D- ja korkeamman ulottuvuuden taulukoissa toimii samalla tavalla kuin viipalointi 1D-taulukoissa. Kuitenkin 2D-taulukoissa on kaksi akselia.

Jos halutaan suorittaa viipalointi vain akselilla 0 ja hakea 1D-taulukoita, syntaksi pysyy samana: array[start:end:step]. Jos halutaan viipaloida näiden 1D-taulukoiden alkioita (akseli 1), syntaksi on seuraava: array[start:end:step, start:end:step]. Käytännössä viipalointien määrä vastaa taulukon ulottuvuuksien määrää.

Lisäksi voimme käyttää viipalointia yhdellä akselilla ja perusindeksointia toisella akselilla. Tarkastellaan esimerkkiä 2D-viipaloinnista (violetit ruudut kuvaavat viipaloinnilla haettuja alkioita ja musta nuoli osoittaa, että alkiot otetaan käänteisessä järjestyksessä):

1234567891011
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
copy

Alla oleva kuva esittää tehtävässä käytetyn student_scores-taulukon rakennetta:

Tehtävä

Swipe to start coding

Työskentelet 2D NumPy-taulukon kanssa, joka esittää kolmen opiskelijan pisteitä kolmessa eri aineessa. Jokaisen opiskelijan pisteet on tallennettu omaan riviinsä, ja jokainen alkio edustaa tietyn aineen pistettä.

  1. Luo student_scores-taulukosta viipale, joka sisältää ensimmäisen opiskelijan (ensimmäinen rivi) kaksi viimeistä pistettä.
  2. Käytä perusindeksointia (positiivinen indeksointi) ja viipalointia, määrittäen vain positiivinen start-arvo.

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 4
single

single

some-alt