Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Skjæring | Indeksering og Slicing
Ultimate NumPy

Sveip for å vise menyen

book
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 er 1).

Her er et eksempel for å klargjøre alt (lilla firkanter representerer elementene hentet fra slicing):

Merk

Ettersom vi ikke eksplisitt spesifiserte step, er standardverdien 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

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:

  1. Utelatelse av start:

    • Slicing fra det første elementet (step er positiv);

    • Slicing fra det siste elementet (step er negativ).

  2. 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):

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

Bildet nedenfor viser strukturen til weekly_sales-arrayet som brukes i oppgaven:

Oppgave

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.

  1. Lag et utsnitt av weekly_sales som inkluderer salgsdataene for annenhver dag, startende fra andre dag (tirsdag).

  2. Bruk en positiv indeks for start og la end være uspesifisert.

  3. Lagre resultatet i alternate_day_sales.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

book
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 er 1).

Her er et eksempel for å klargjøre alt (lilla firkanter representerer elementene hentet fra slicing):

Merk

Ettersom vi ikke eksplisitt spesifiserte step, er standardverdien 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

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:

  1. Utelatelse av start:

    • Slicing fra det første elementet (step er positiv);

    • Slicing fra det siste elementet (step er negativ).

  2. 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):

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

Bildet nedenfor viser strukturen til weekly_sales-arrayet som brukes i oppgaven:

Oppgave

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.

  1. Lag et utsnitt av weekly_sales som inkluderer salgsdataene for annenhver dag, startende fra andre dag (tirsdag).

  2. Bruk en positiv indeks for start og la end være uspesifisert.

  3. Lagre resultatet i alternate_day_sales.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt