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

bookUtskjæring

Slicing i Python refererer til å hente ut elementer fra én 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 slicingen starter;
  • end er indeksen der slicingen slutter (selve indeksen er ikke inkludert);
  • step angir intervallene mellom indeksene (standardverdi er 1).

Her er et eksempel for å tydeliggjøre alt (lilla ruter representerer elementene som hentes ut ved slicing):

Note
Merk

Siden 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 ønsker at den skal være lik 1. start og end kan utelates i følgende situasjoner:

  1. Utelatelse av start:
    • Slicing fra første element (step er positiv);
    • Slicing fra siste element (step er negativ).
  2. Utelatelse av end:
    • Slicing til siste element inkludert (step er positiv);
    • Slicing til første element 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 butikk. Salget for den siste uken er lagret i weekly_sales-arrayen, der hvert element representerer salget for en bestemt dag.

  1. Lag et utsnitt av weekly_sales som inkluderer salgsdata for annenhver dag, med start 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

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3
single

single

Spør AI

expand

Spør AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

bookUtskjæring

Sveip for å vise menyen

Slicing i Python refererer til å hente ut elementer fra én 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 slicingen starter;
  • end er indeksen der slicingen slutter (selve indeksen er ikke inkludert);
  • step angir intervallene mellom indeksene (standardverdi er 1).

Her er et eksempel for å tydeliggjøre alt (lilla ruter representerer elementene som hentes ut ved slicing):

Note
Merk

Siden 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 ønsker at den skal være lik 1. start og end kan utelates i følgende situasjoner:

  1. Utelatelse av start:
    • Slicing fra første element (step er positiv);
    • Slicing fra siste element (step er negativ).
  2. Utelatelse av end:
    • Slicing til siste element inkludert (step er positiv);
    • Slicing til første element 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 butikk. Salget for den siste uken er lagret i weekly_sales-arrayen, der hvert element representerer salget for en bestemt dag.

  1. Lag et utsnitt av weekly_sales som inkluderer salgsdata for annenhver dag, med start 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
single

single

some-alt