Slicing in 2D-Arrays
Slicing in 2D- en hogere-dimensionale arrays werkt op vergelijkbare wijze als slicing in 1D-arrays. In 2D-arrays zijn er echter twee assen.
Als we slicing alleen op as 0 willen uitvoeren om 1D-arrays op te halen, blijft de syntaxis hetzelfde: array[start:end:step]. Als we slicing willen uitvoeren op de elementen van deze 1D-arrays (as 1), is de syntaxis als volgt: array[start:end:step, start:end:step]. In wezen komt het aantal slices overeen met het aantal dimensies van een array.
Daarnaast kunnen we slicing voor één as gebruiken en basisindexering voor de andere as. Bekijk het volgende voorbeeld van 2D-slicing (paarse vierkanten geven de elementen weer die door slicing worden opgehaald, en de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):
1234567891011import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
De onderstaande afbeelding toont de structuur van de array student_scores die in de opdracht wordt gebruikt:
Swipe to start coding
Je werkt met een 2D NumPy-array die de scores van drie studenten in drie verschillende vakken weergeeft. De scores voor elke student zijn opgeslagen in een aparte rij, waarbij elk element de score in een specifiek vak vertegenwoordigt.
- Maak een slice van
student_scoresdie de laatste twee scores van de eerste student (eerste rij) bevat. - Gebruik basisindexering (positieve indexering) en slicing, waarbij je alleen een positieve
startopgeeft.
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.
Awesome!
Completion rate improved to 3.7
Slicing in 2D-Arrays
Veeg om het menu te tonen
Slicing in 2D- en hogere-dimensionale arrays werkt op vergelijkbare wijze als slicing in 1D-arrays. In 2D-arrays zijn er echter twee assen.
Als we slicing alleen op as 0 willen uitvoeren om 1D-arrays op te halen, blijft de syntaxis hetzelfde: array[start:end:step]. Als we slicing willen uitvoeren op de elementen van deze 1D-arrays (as 1), is de syntaxis als volgt: array[start:end:step, start:end:step]. In wezen komt het aantal slices overeen met het aantal dimensies van een array.
Daarnaast kunnen we slicing voor één as gebruiken en basisindexering voor de andere as. Bekijk het volgende voorbeeld van 2D-slicing (paarse vierkanten geven de elementen weer die door slicing worden opgehaald, en de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):
1234567891011import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
De onderstaande afbeelding toont de structuur van de array student_scores die in de opdracht wordt gebruikt:
Swipe to start coding
Je werkt met een 2D NumPy-array die de scores van drie studenten in drie verschillende vakken weergeeft. De scores voor elke student zijn opgeslagen in een aparte rij, waarbij elk element de score in een specifiek vak vertegenwoordigt.
- Maak een slice van
student_scoresdie de laatste twee scores van de eerste student (eerste rij) bevat. - Gebruik basisindexering (positieve indexering) en slicing, waarbij je alleen een positieve
startopgeeft.
Oplossing
Bedankt voor je feedback!
single