single
Viipalointi
Pyyhkäise näyttääksesi valikon
Viipalointi Pythonissa tarkoittaa alkioiden hakemista yhdestä indeksistä toiseen sekvenssissä. Tässä luvussa keskitytään kuitenkin viipalointiin NumPy-taulukoissa.
Viipalointi 1D-taulukoissa
Yleinen syntaksi viipaloinnille 1D-taulukoissa on seuraava: array[start:end:step].
starton indeksi, josta viipalointi alkaa;endon indeksi, johon viipalointi päättyy (itse indeksiä ei oteta mukaan);stepmäärittää indeksien väliset askeleet (oletuksena1).
Tässä esimerkki, joka havainnollistaa kaiken (violetit ruudut kuvaavat viipaloinnilla haettuja alkioita):
Koska emme määritelleet step-arvoa erikseen, sen oletusarvo on 1.
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:])
Alun, lopun ja askeleen jättäminen pois
Kuten huomaat, voimme usein jättää pois start-, end-, step- tai jopa kaikki nämä arvot samanaikaisesti. Esimerkiksi step voidaan jättää pois, kun haluamme sen olevan 1. start ja end voidaan jättää pois seuraavissa tilanteissa:
startpois jätettynä:- Viipalointi ensimmäisestä alkiosta alkaen (
stepon positiivinen); - Viipalointi viimeisestä alkiosta alkaen (
stepon negatiivinen).
- Viipalointi ensimmäisestä alkiosta alkaen (
endpois jätettynä:- Viipalointi viimeiseen alkioon asti mukaan lukien (
stepon positiivinen); - Viipalointi ensimmäiseen alkioon asti mukaan lukien (
stepon negatiivinen).
- Viipalointi viimeiseen alkioon asti mukaan lukien (
Tarkastellaan vielä muutamia esimerkkejä ( musta nuoli osoittaa, että alkiot 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 esittää tehtävässä käytetyn weekly_sales-taulukon rakenteen:
Pyyhkäise aloittaaksesi koodauksen
Analysoit pienen vähittäiskaupan päivittäisiä myyntitietoja. Viikon myyntiluvut on tallennettu taulukkoon weekly_sales, jossa jokainen alkio edustaa tietyn päivän myyntiä.
- Luo viipale
weekly_sales-taulukosta, joka sisältää joka toisen päivän myyntitiedot alkaen toisesta päivästä (tiistaista). - Käytä positiivista indeksiä
start-arvona ja jätäendmäärittelemättä. - Tallenna tulos muuttujaan
alternate_day_sales.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme