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

bookUdsnit

Slicing i Python refererer til at hente elementer fra et indeks til et andet inden for en sekvens. I dette kapitel vil vi dog fokusere på slicing i NumPy arrays.

Slicing i 1D-arrays

Den generelle syntaks for slicing i 1D-arrays er som følger: array[start:end:step].

  • start er indekset, hvor slicing starter;
  • end er indekset, hvor slicing slutter (selve indekset er ikke inkluderet);
  • step angiver springet mellem indeksene (standard er 1).

Her er et eksempel for at tydeliggøre det hele (lilla felter repræsenterer de elementer, der hentes ved slicing):

Note
Bemærk

Da vi ikke eksplicit har angivet step, er standardværdien 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

Udeladelse af start, slut og trin

Som det kan ses, kan vi ofte udelade start, end, step eller endda dem alle på samme tid. For eksempel kan step udelades, når vi ønsker, at den skal være lig med 1. start og end kan udelades i følgende scenarier:

  1. Udeladelse af start:
    • Udskæring fra det første element (step er positiv);
    • Udskæring fra det sidste element (step er negativ).
  2. Udeladelse af end:
    • Udskæring til det sidste element inklusiv (step er positiv);
    • Udskæring til det første element inklusiv (step er negativ).

Lad os se på et par flere eksempler (den sorte pil angiver, at elementerne tages i omvendt rækkefø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

Billedet nedenfor viser strukturen af weekly_sales arrayet, der bruges i opgaven:

Opgave

Swipe to start coding

Du analyserer de daglige salgsdata for en lille detailbutik. Salget for den seneste uge er gemt i arrayet weekly_sales, hvor hvert element repræsenterer salget for en bestemt dag.

  1. Opret et udsnit af weekly_sales, der inkluderer salgsdata for hver anden dag, startende fra anden dag (tirsdag).
  2. Brug en positiv indeks for start og lad end være uspecificeret.
  3. Gem resultatet i alternate_day_sales.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain how negative steps work in slicing?

What happens if I use a step value greater than 1?

Can you show more examples of slicing with different start and end values?

close

Awesome!

Completion rate improved to 3.7

bookUdsnit

Stryg for at vise menuen

Slicing i Python refererer til at hente elementer fra et indeks til et andet inden for en sekvens. I dette kapitel vil vi dog fokusere på slicing i NumPy arrays.

Slicing i 1D-arrays

Den generelle syntaks for slicing i 1D-arrays er som følger: array[start:end:step].

  • start er indekset, hvor slicing starter;
  • end er indekset, hvor slicing slutter (selve indekset er ikke inkluderet);
  • step angiver springet mellem indeksene (standard er 1).

Her er et eksempel for at tydeliggøre det hele (lilla felter repræsenterer de elementer, der hentes ved slicing):

Note
Bemærk

Da vi ikke eksplicit har angivet step, er standardværdien 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

Udeladelse af start, slut og trin

Som det kan ses, kan vi ofte udelade start, end, step eller endda dem alle på samme tid. For eksempel kan step udelades, når vi ønsker, at den skal være lig med 1. start og end kan udelades i følgende scenarier:

  1. Udeladelse af start:
    • Udskæring fra det første element (step er positiv);
    • Udskæring fra det sidste element (step er negativ).
  2. Udeladelse af end:
    • Udskæring til det sidste element inklusiv (step er positiv);
    • Udskæring til det første element inklusiv (step er negativ).

Lad os se på et par flere eksempler (den sorte pil angiver, at elementerne tages i omvendt rækkefø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

Billedet nedenfor viser strukturen af weekly_sales arrayet, der bruges i opgaven:

Opgave

Swipe to start coding

Du analyserer de daglige salgsdata for en lille detailbutik. Salget for den seneste uge er gemt i arrayet weekly_sales, hvor hvert element repræsenterer salget for en bestemt dag.

  1. Opret et udsnit af weekly_sales, der inkluderer salgsdata for hver anden dag, startende fra anden dag (tirsdag).
  2. Brug en positiv indeks for start og lad end være uspecificeret.
  3. Gem resultatet i alternate_day_sales.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
single

single

some-alt