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 on1
).
Tässä on esimerkki, joka selventää kaiken (violetit ruudut edustavat viipaloinnista saatuja elementtejä):
Huom
Koska emme määrittäneet
step
-arvoa erikseen, se oletetaan arvoksi1
.
123456789import 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:])
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:
-
start
-arvon jättäminen pois:- Viipalointi ensimmäisestä elementistä (
step
on positiivinen); - Viipalointi viimeisestä elementistä (
step
on negatiivinen).
- Viipalointi ensimmäisestä elementistä (
-
end
-arvon jättäminen pois:- Viipalointi viimeiseen elementtiin mukaan lukien (
step
on positiivinen); - Viipalointi ensimmäiseen elementtiin mukaan lukien (
step
on negatiivinen).
- Viipalointi viimeiseen elementtiin mukaan lukien (
Katsotaanpa muutamia esimerkkejä lisää (musta nuoli osoittaa, että elementit otetaan käänteisessä järjestyksessä):
1234567891011import 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[:])
Alla oleva kuva näyttää tehtävässä käytetyn weekly_sales
taulukon rakenteen:
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ä.
-
Luo
weekly_sales
-taulukosta viipale, joka sisältää myyntitiedot joka toiselta päivältä, alkaen toisesta päivästä (tiistai). -
Käytä positiivista indeksiä
start
-kohdassa ja jätäend
määrittelemättä. -
Tallenna tulos
alternate_day_sales
-muuttujaan.
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
Pyyhkäise näyttääksesi valikon
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 on1
).
Tässä on esimerkki, joka selventää kaiken (violetit ruudut edustavat viipaloinnista saatuja elementtejä):
Huom
Koska emme määrittäneet
step
-arvoa erikseen, se oletetaan arvoksi1
.
123456789import 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:])
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:
-
start
-arvon jättäminen pois:- Viipalointi ensimmäisestä elementistä (
step
on positiivinen); - Viipalointi viimeisestä elementistä (
step
on negatiivinen).
- Viipalointi ensimmäisestä elementistä (
-
end
-arvon jättäminen pois:- Viipalointi viimeiseen elementtiin mukaan lukien (
step
on positiivinen); - Viipalointi ensimmäiseen elementtiin mukaan lukien (
step
on negatiivinen).
- Viipalointi viimeiseen elementtiin mukaan lukien (
Katsotaanpa muutamia esimerkkejä lisää (musta nuoli osoittaa, että elementit otetaan käänteisessä järjestyksessä):
1234567891011import 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[:])
Alla oleva kuva näyttää tehtävässä käytetyn weekly_sales
taulukon rakenteen:
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ä.
-
Luo
weekly_sales
-taulukosta viipale, joka sisältää myyntitiedot joka toiselta päivältä, alkaen toisesta päivästä (tiistai). -
Käytä positiivista indeksiä
start
-kohdassa ja jätäend
määrittelemättä. -
Tallenna tulos
alternate_day_sales
-muuttujaan.
Ratkaisu
Kiitos palautteestasi!
Awesome!
Completion rate improved to 3.7single