Skjæring
Slicing i Python refererer til å hente elementer fra en indeks til en annen innenfor en sekvens. I dette kapittelet vil vi imidlertid fokusere på slicing i NumPy-arrayer.
Slicing i 1D-arrayer
Den generelle syntaksen for slicing i 1D-arrayer er som følger: array[start:end:step]
.
start
er indeksen der slicing skal starte;end
er indeksen der slicing slutter (selve indeksen er ikke inkludert);step
spesifiserer trinnene mellom indeksene (standard er1
).
Her er et eksempel for å klargjøre alt (lilla firkanter representerer elementene hentet fra slicing):
Merk
Ettersom vi ikke eksplisitt spesifiserte
step
, er standardverdien1
.
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:])
Utelatelse av Start, Slutt og Steg
Som du kan se, kan vi ofte utelate start
, end
, step
, eller til og med alle samtidig. For eksempel kan step
utelates når vi vil at den skal være lik 1
. start
og end
kan utelates i følgende scenarier:
Utelatelse av
start
:Slicing fra det første elementet (
step
er positiv);Slicing fra det siste elementet (
step
er negativ).
Utelatelse av
end
:Slicing til det siste elementet inkludert (
step
er positiv);Slicing til det første elementet inkludert (
step
er negativ).
La oss se på noen flere eksempler (den svarte pilen indikerer at elementene tas i omvendt rekkefølge):
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[:])
Bildet nedenfor viser strukturen til weekly_sales
-arrayet som brukes i oppgaven:
Swipe to start coding
Du analyserer de daglige salgsdataene til en liten detaljhandel. Salgene for den siste uken er lagret i weekly_sales
-arrayet, med hvert element som representerer salget for en bestemt dag.
-
Lag et utsnitt av
weekly_sales
som inkluderer salgsdataene for annenhver dag, startende fra andre dag (tirsdag). -
Bruk en positiv indeks for
start
og laend
være uspesifisert. -
Lagre resultatet i
alternate_day_sales
.
Løsning
Takk for tilbakemeldingene dine!