Viipalointi 2D-Taulukoissa
Viipalointi 2D- ja korkeamman ulottuvuuden taulukoissa toimii samalla tavalla kuin viipalointi 1D-taulukoissa. 2D-taulukoissa on kuitenkin 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 omalle rivilleen, ja jokainen alkio edustaa pistettä tietyssä aineessa.
- Luo viipale
student_scores-taulukosta, 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.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain what each slicing operation in the code does?
How does slicing work differently in higher-dimensional arrays?
Can you provide more examples of 2D array slicing?
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. 2D-taulukoissa on kuitenkin 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 omalle rivilleen, ja jokainen alkio edustaa pistettä tietyssä aineessa.
- Luo viipale
student_scores-taulukosta, 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.
Ratkaisu
Kiitos palautteestasi!
single