Viipalointi 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ä):
1234567891011import 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])
Alla oleva kuva esittää tehtävässä käytetyn student_scores-taulukon rakennetta:
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ä.
- Luo
student_scores-taulukosta viipale, joka sisältää ensimmäisen opiskelijan (ensimmäinen rivi) kaksi viimeistä pistettä. - Käytä perusindeksointia (positiivinen indeksointi) ja viipalointia, määrittäen vain positiivinen
start-arvo.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.7
Viipalointi 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ä):
1234567891011import 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])
Alla oleva kuva esittää tehtävässä käytetyn student_scores-taulukon rakennetta:
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ä.
- Luo
student_scores-taulukosta viipale, joka sisältää ensimmäisen opiskelijan (ensimmäinen rivi) kaksi viimeistä pistettä. - Käytä perusindeksointia (positiivinen indeksointi) ja viipalointia, määrittäen vain positiivinen
start-arvo.
Ratkaisu
Kiitos palautteestasi!
single