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
Numpy Perusteet
Osio 2. Luku 4
single

single

bookViipalointi 2D-taulukoissa

Pyyhkäise näyttääksesi valikon

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

Jos halutaan tehdä 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 voidaan 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ä):

1234567891011121314151617181920
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) # Initial Array print("Initial array_2d:\n", array_2d) # Rows from index 1 to the end print("\narray_2d[1:]:\n", array_2d[1:]) # All rows, first column only print("\narray_2d[:, 0]:\n", array_2d[:, 0]) # Subarray: rows from 1 to end, columns from 1 to second-to-last print("\narray_2d[1:, 1:-1]:\n", array_2d[1:, 1:-1]) # All rows except the last, every second column print("\narray_2d[:-1, ::2]:\n", array_2d[:-1, ::2]) # Third row (index 2) reversed print("\narray_2d[2, ::-1]:\n", array_2d[2, ::-1])
copy

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

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Työskentelet 2D NumPy-taulukon kanssa, joka esittää kolmen opiskelijan pisteitä kolmessa eri aineessa. Jokaisen opiskelijan pisteet ovat omalla rivillään, ja jokainen alkio edustaa pistettä tietyssä aineessa.

  1. Luo viipale student_scores -taulukosta, 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.

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

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt