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

Pyyhkäise näyttääksesi valikon

book
Viipalointi 2D Arrayssa

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

Jos haluamme suorittaa leikkaamisen vain akselilla 0 saadaksemme 1D-taulukoita, syntaksi pysyy samana: array[start:end:step]. Jos haluamme suorittaa leikkaamisen näiden 1D-taulukoiden elementeille (akseli 1), syntaksi on seuraava: array[start:end:step, start:end:step]. Pohjimmiltaan leikkausten määrä vastaa taulukon ulottuvuuksien määrää.

Lisäksi voimme käyttää leikkaamista yhdelle akselille ja perusindeksointia toiselle akselille. Katsotaanpa esimerkkiä 2D-leikkaamisesta (violetit neliöt edustavat leikkaamisesta saatuja elementtejä, ja musta nuoli osoittaa, että elementit 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 näyttää tehtävässä käytetyn student_scores taulukon rakenteen:

Tehtävä

Swipe to start coding

Työskentelet 2D NumPy-taulukon kanssa, joka edustaa kolmen opiskelijan pisteitä kolmessa eri aineessa. Kunkin opiskelijan pisteet on tallennettu erilliseen riviin, ja kukin elementti 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.

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

Kysy tekoälyä

expand
ChatGPT

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

book
Viipalointi 2D Arrayssa

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

Jos haluamme suorittaa leikkaamisen vain akselilla 0 saadaksemme 1D-taulukoita, syntaksi pysyy samana: array[start:end:step]. Jos haluamme suorittaa leikkaamisen näiden 1D-taulukoiden elementeille (akseli 1), syntaksi on seuraava: array[start:end:step, start:end:step]. Pohjimmiltaan leikkausten määrä vastaa taulukon ulottuvuuksien määrää.

Lisäksi voimme käyttää leikkaamista yhdelle akselille ja perusindeksointia toiselle akselille. Katsotaanpa esimerkkiä 2D-leikkaamisesta (violetit neliöt edustavat leikkaamisesta saatuja elementtejä, ja musta nuoli osoittaa, että elementit 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 näyttää tehtävässä käytetyn student_scores taulukon rakenteen:

Tehtävä

Swipe to start coding

Työskentelet 2D NumPy-taulukon kanssa, joka edustaa kolmen opiskelijan pisteitä kolmessa eri aineessa. Kunkin opiskelijan pisteet on tallennettu erilliseen riviin, ja kukin elementti 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.

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
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt