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

Stryg for at vise menuen

book
Skæring

Slicing i Python refererer til at hente elementer fra en indeks til en anden 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 skal starte;

  • end er indekset, hvor slicing slutter (indekset selv er ikke inkluderet);

  • step specificerer intervallerne mellem indeksene (standard er 1).

Her er et eksempel for at tydeliggøre alt (lilla firkanter repræsenterer de elementer, der hentes fra slicing):

Bemærk

Da vi ikke eksplicit angav 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 Step

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

  1. Udeladelse af start:

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

    • Slicing fra det sidste element (step er negativ).

  2. Udeladelse af end:

    • Slicing til det sidste element inklusive (step er positiv);

    • Slicing til det første element inklusive (step er negativ).

Lad os se på et par flere eksempler (den sorte pil indikerer, 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 brugt i opgaven:

Opgave

Swipe to start coding

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

  1. Opret et udsnit af weekly_sales, der inkluderer salgsdataene 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

Spørg AI

expand
ChatGPT

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

book
Skæring

Slicing i Python refererer til at hente elementer fra en indeks til en anden 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 skal starte;

  • end er indekset, hvor slicing slutter (indekset selv er ikke inkluderet);

  • step specificerer intervallerne mellem indeksene (standard er 1).

Her er et eksempel for at tydeliggøre alt (lilla firkanter repræsenterer de elementer, der hentes fra slicing):

Bemærk

Da vi ikke eksplicit angav 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 Step

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

  1. Udeladelse af start:

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

    • Slicing fra det sidste element (step er negativ).

  2. Udeladelse af end:

    • Slicing til det sidste element inklusive (step er positiv);

    • Slicing til det første element inklusive (step er negativ).

Lad os se på et par flere eksempler (den sorte pil indikerer, 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 brugt i opgaven:

Opgave

Swipe to start coding

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

  1. Opret et udsnit af weekly_sales, der inkluderer salgsdataene 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
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt