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
Numpy-Grundlæggende
Sektion 2. Kapitel 3
single

single

Udsnit

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 fokuseres der dog 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, der tydeliggør det hele (lilla felter repræsenterer de elementer, der hentes ved slicing):

Eksempel på 1D-slicing
Note
Bemærk

Da du ikke eksplicit har angivet step, antages den som standard til væ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:])

Udeladelse af Start, Slut og Step

Som du kan se, kan du ofte udelade start, end, step eller endda dem alle på samme tid. step kan udelades, når du ø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).

Se et par flere eksempler (den sorte pil angiver, at elementerne tages i omvendt rækkefølge):

Eksempel på 1D-slicing
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[:])

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

Ugentligt salg
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 et positivt indeks til 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

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

some-alt