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

Pyyhkäise näyttääksesi valikon

book
Viipalointi

Viipalointi Pythonissa tarkoittaa elementtien 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 aloitetaan;

  • end on indeksi, johon viipalointi päättyy (itse indeksiä ei sisällytetä);

  • step määrittää indeksien väliset lisäykset (oletus on 1).

Tässä on esimerkki, joka selventää kaiken (violetit ruudut edustavat viipaloinnista saatuja elementtejä):

Huom

Koska emme määrittäneet step-arvoa erikseen, se oletetaan arvoksi 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

Alku-, Loppu- ja Askel-arvojen Jättäminen Pois

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

  1. start-arvon jättäminen pois:

    • Viipalointi ensimmäisestä elementistä (step on positiivinen);

    • Viipalointi viimeisestä elementistä (step on negatiivinen).

  2. end-arvon jättäminen pois:

    • Viipalointi viimeiseen elementtiin mukaan lukien (step on positiivinen);

    • Viipalointi ensimmäiseen elementtiin mukaan lukien (step on negatiivinen).

Katsotaanpa muutamia esimerkkejä lisää (musta nuoli osoittaa, että elementit 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 näyttää tehtävässä käytetyn weekly_sales taulukon rakenteen:

Tehtävä

Swipe to start coding

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

  1. Luo weekly_sales-taulukosta viipale, joka sisältää myyntitiedot joka toiselta päivältä, alkaen toisesta päivästä (tiistai).

  2. Käytä positiivista indeksiä start-kohdassa ja jätä end määrittelemättä.

  3. Tallenna tulos alternate_day_sales-muuttujaan.

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

Kysy tekoälyä

expand
ChatGPT

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

book
Viipalointi

Viipalointi Pythonissa tarkoittaa elementtien 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 aloitetaan;

  • end on indeksi, johon viipalointi päättyy (itse indeksiä ei sisällytetä);

  • step määrittää indeksien väliset lisäykset (oletus on 1).

Tässä on esimerkki, joka selventää kaiken (violetit ruudut edustavat viipaloinnista saatuja elementtejä):

Huom

Koska emme määrittäneet step-arvoa erikseen, se oletetaan arvoksi 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

Alku-, Loppu- ja Askel-arvojen Jättäminen Pois

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

  1. start-arvon jättäminen pois:

    • Viipalointi ensimmäisestä elementistä (step on positiivinen);

    • Viipalointi viimeisestä elementistä (step on negatiivinen).

  2. end-arvon jättäminen pois:

    • Viipalointi viimeiseen elementtiin mukaan lukien (step on positiivinen);

    • Viipalointi ensimmäiseen elementtiin mukaan lukien (step on negatiivinen).

Katsotaanpa muutamia esimerkkejä lisää (musta nuoli osoittaa, että elementit 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 näyttää tehtävässä käytetyn weekly_sales taulukon rakenteen:

Tehtävä

Swipe to start coding

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

  1. Luo weekly_sales-taulukosta viipale, joka sisältää myyntitiedot joka toiselta päivältä, alkaen toisesta päivästä (tiistai).

  2. Käytä positiivista indeksiä start-kohdassa ja jätä end määrittelemättä.

  3. Tallenna tulos alternate_day_sales-muuttujaan.

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