Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Slicing | Indexering en Slicing
Ultieme NumPy

bookSlicing

Slicing in Python verwijst naar het ophalen van elementen van het ene index naar het andere binnen een reeks. In dit hoofdstuk richten we ons echter op slicing in NumPy-arrays.

Slicing in 1D-arrays

De algemene syntaxis voor slicing in 1D-arrays is als volgt: array[start:end:step].

  • start is de index waarop het slicen begint;
  • end is de index waarop het slicen eindigt (deze index zelf wordt niet meegenomen);
  • step specificeert de stappen tussen de indices (standaard is 1).

Hier volgt een voorbeeld ter verduidelijking (paarse vierkanten geven de elementen weer die door slicing worden opgehaald):

Note
Opmerking

Omdat we step niet expliciet hebben opgegeven, is de standaardwaarde 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

Start, einde en stap weglaten

Zoals te zien is, kunnen we vaak weglaten van de start, end, step of zelfs allemaal tegelijk. Bijvoorbeeld, step kan worden weggelaten wanneer deze gelijk moet zijn aan 1. start en end kunnen in de volgende situaties worden weggelaten:

  1. start weglaten:
    • Slicing van het eerste element (step is positief);
    • Slicing van het laatste element (step is negatief).
  2. end weglaten:
    • Slicing tot en met het laatste element (step is positief);
    • Slicing tot en met het eerste element (step is negatief).

Bekijk enkele extra voorbeelden (de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):

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

De onderstaande afbeelding toont de structuur van de weekly_sales array die in de opdracht wordt gebruikt:

Taak

Swipe to start coding

Je analyseert de dagelijkse verkoopgegevens van een kleine winkel. De verkopen van de afgelopen week zijn opgeslagen in de array weekly_sales, waarbij elk element de verkoop van een specifieke dag weergeeft.

  1. Maak een slice van weekly_sales die de verkoopgegevens bevat van elke tweede dag, beginnend bij de tweede dag (dinsdag).
  2. Gebruik een positieve index voor start en laat end ongespecificeerd.
  3. Sla het resultaat op in alternate_day_sales.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

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

bookSlicing

Veeg om het menu te tonen

Slicing in Python verwijst naar het ophalen van elementen van het ene index naar het andere binnen een reeks. In dit hoofdstuk richten we ons echter op slicing in NumPy-arrays.

Slicing in 1D-arrays

De algemene syntaxis voor slicing in 1D-arrays is als volgt: array[start:end:step].

  • start is de index waarop het slicen begint;
  • end is de index waarop het slicen eindigt (deze index zelf wordt niet meegenomen);
  • step specificeert de stappen tussen de indices (standaard is 1).

Hier volgt een voorbeeld ter verduidelijking (paarse vierkanten geven de elementen weer die door slicing worden opgehaald):

Note
Opmerking

Omdat we step niet expliciet hebben opgegeven, is de standaardwaarde 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

Start, einde en stap weglaten

Zoals te zien is, kunnen we vaak weglaten van de start, end, step of zelfs allemaal tegelijk. Bijvoorbeeld, step kan worden weggelaten wanneer deze gelijk moet zijn aan 1. start en end kunnen in de volgende situaties worden weggelaten:

  1. start weglaten:
    • Slicing van het eerste element (step is positief);
    • Slicing van het laatste element (step is negatief).
  2. end weglaten:
    • Slicing tot en met het laatste element (step is positief);
    • Slicing tot en met het eerste element (step is negatief).

Bekijk enkele extra voorbeelden (de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):

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

De onderstaande afbeelding toont de structuur van de weekly_sales array die in de opdracht wordt gebruikt:

Taak

Swipe to start coding

Je analyseert de dagelijkse verkoopgegevens van een kleine winkel. De verkopen van de afgelopen week zijn opgeslagen in de array weekly_sales, waarbij elk element de verkoop van een specifieke dag weergeeft.

  1. Maak een slice van weekly_sales die de verkoopgegevens bevat van elke tweede dag, beginnend bij de tweede dag (dinsdag).
  2. Gebruik een positieve index voor start en laat end ongespecificeerd.
  3. Sla het resultaat op in alternate_day_sales.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
single

single

some-alt