Slicing
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].
startis de index waarop het slicen begint;endis de index waarop het slicen eindigt (deze index zelf wordt niet meegenomen);stepspecificeert de stappen tussen de indices (standaard is1).
Hier volgt een voorbeeld ter verduidelijking (paarse vierkanten geven de elementen weer die door slicing worden opgehaald):
Omdat we step niet expliciet hebben opgegeven, is de standaardwaarde 1.
123456789import 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:])
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:
startweglaten:- Slicing van het eerste element (
stepis positief); - Slicing van het laatste element (
stepis negatief).
- Slicing van het eerste element (
endweglaten:- Slicing tot en met het laatste element (
stepis positief); - Slicing tot en met het eerste element (
stepis negatief).
- Slicing tot en met het laatste element (
Bekijk enkele extra voorbeelden (de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):
1234567891011import 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[:])
De onderstaande afbeelding toont de structuur van de weekly_sales array die in de opdracht wordt gebruikt:
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.
- Maak een slice van
weekly_salesdie de verkoopgegevens bevat van elke tweede dag, beginnend bij de tweede dag (dinsdag). - Gebruik een positieve index voor
starten laatendongespecificeerd. - Sla het resultaat op in
alternate_day_sales.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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?
Awesome!
Completion rate improved to 3.7
Slicing
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].
startis de index waarop het slicen begint;endis de index waarop het slicen eindigt (deze index zelf wordt niet meegenomen);stepspecificeert de stappen tussen de indices (standaard is1).
Hier volgt een voorbeeld ter verduidelijking (paarse vierkanten geven de elementen weer die door slicing worden opgehaald):
Omdat we step niet expliciet hebben opgegeven, is de standaardwaarde 1.
123456789import 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:])
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:
startweglaten:- Slicing van het eerste element (
stepis positief); - Slicing van het laatste element (
stepis negatief).
- Slicing van het eerste element (
endweglaten:- Slicing tot en met het laatste element (
stepis positief); - Slicing tot en met het eerste element (
stepis negatief).
- Slicing tot en met het laatste element (
Bekijk enkele extra voorbeelden (de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):
1234567891011import 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[:])
De onderstaande afbeelding toont de structuur van de weekly_sales array die in de opdracht wordt gebruikt:
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.
- Maak een slice van
weekly_salesdie de verkoopgegevens bevat van elke tweede dag, beginnend bij de tweede dag (dinsdag). - Gebruik een positieve index voor
starten laatendongespecificeerd. - Sla het resultaat op in
alternate_day_sales.
Oplossing
Bedankt voor je feedback!
single