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

bookViipalointi

Viipalointi Pythonissa tarkoittaa alkioiden hakemista yhdestä indeksistä toiseen sekvenssissä. Tässä luvussa keskitymme kuitenkin viipalointiin NumPy-taulukoissa.

Viipalointi 1D-taulukoissa

Yleinen syntaksi viipaloinnille 1D-taulukoissa on seuraava: array[start:end:step].

  • start on indeksi, josta viipalointi alkaa;
  • end on indeksi, johon viipalointi päättyy (itse indeksiä ei oteta mukaan);
  • step määrittää indeksien väliset askeleet (oletus on 1).

Tässä on esimerkki, joka havainnollistaa kaiken (violetit ruudut edustavat viipaloinnilla haettuja alkioita):

Note
Huom

Koska emme määritelleet step-arvoa erikseen, sen oletusarvo on 1.

123456789
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
copy

Alun, lopun ja askeleen jättäminen pois

Kuten huomaat, voimme usein jättää pois start, end, step tai vaikka kaikki nämä samanaikaisesti. Esimerkiksi step voidaan jättää pois, kun haluamme sen olevan 1. start ja end voidaan jättää pois seuraavissa tilanteissa:

  1. start pois:
    • Viipalointi ensimmäisestä alkiosta (step positiivinen);
    • Viipalointi viimeisestä alkiosta (step negatiivinen).
  2. end pois:
    • Viipalointi viimeiseen alkioon asti (sisältyy, step positiivinen);
    • Viipalointi ensimmäiseen alkioon asti (sisältyy, step negatiivinen).

Katsotaan vielä muutama esimerkki ( musta nuoli osoittaa, että alkiot otetaan käänteisessä järjestyksessä):

1234567891011
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
copy

Alla oleva kuva esittää tehtävässä käytetyn weekly_sales-taulukon rakenteen:

Tehtävä

Swipe to start coding

Analysoit pienen vähittäiskaupan päivittäisiä myyntitietoja. Viikon myyntiluvut on tallennettu taulukkoon weekly_sales, jossa kukin alkio edustaa tietyn päivän myyntiä.

  1. Luo viipale weekly_sales-taulukosta, joka sisältää joka toisen päivän myyntitiedot alkaen toisesta päivästä (tiistaista).
  2. Käytä positiivista indeksiä start-arvona ja jätä end määrittelemättä.
  3. Tallenna tulos muuttujaan alternate_day_sales.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
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

Pyyhkäise näyttääksesi valikon

Viipalointi Pythonissa tarkoittaa alkioiden hakemista yhdestä indeksistä toiseen sekvenssissä. Tässä luvussa keskitymme kuitenkin viipalointiin NumPy-taulukoissa.

Viipalointi 1D-taulukoissa

Yleinen syntaksi viipaloinnille 1D-taulukoissa on seuraava: array[start:end:step].

  • start on indeksi, josta viipalointi alkaa;
  • end on indeksi, johon viipalointi päättyy (itse indeksiä ei oteta mukaan);
  • step määrittää indeksien väliset askeleet (oletus on 1).

Tässä on esimerkki, joka havainnollistaa kaiken (violetit ruudut edustavat viipaloinnilla haettuja alkioita):

Note
Huom

Koska emme määritelleet step-arvoa erikseen, sen oletusarvo on 1.

123456789
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
copy

Alun, lopun ja askeleen jättäminen pois

Kuten huomaat, voimme usein jättää pois start, end, step tai vaikka kaikki nämä samanaikaisesti. Esimerkiksi step voidaan jättää pois, kun haluamme sen olevan 1. start ja end voidaan jättää pois seuraavissa tilanteissa:

  1. start pois:
    • Viipalointi ensimmäisestä alkiosta (step positiivinen);
    • Viipalointi viimeisestä alkiosta (step negatiivinen).
  2. end pois:
    • Viipalointi viimeiseen alkioon asti (sisältyy, step positiivinen);
    • Viipalointi ensimmäiseen alkioon asti (sisältyy, step negatiivinen).

Katsotaan vielä muutama esimerkki ( musta nuoli osoittaa, että alkiot otetaan käänteisessä järjestyksessä):

1234567891011
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
copy

Alla oleva kuva esittää tehtävässä käytetyn weekly_sales-taulukon rakenteen:

Tehtävä

Swipe to start coding

Analysoit pienen vähittäiskaupan päivittäisiä myyntitietoja. Viikon myyntiluvut on tallennettu taulukkoon weekly_sales, jossa kukin alkio edustaa tietyn päivän myyntiä.

  1. Luo viipale weekly_sales-taulukosta, joka sisältää joka toisen päivän myyntitiedot alkaen toisesta päivästä (tiistaista).
  2. Käytä positiivista indeksiä start-arvona ja jätä end määrittelemättä.
  3. Tallenna tulos muuttujaan alternate_day_sales.

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

single

some-alt