Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Indexering met Gehele Getallenarrays | Indexeren en Slicen
Numpy Basisprincipes

Indexering met Gehele Getallenarrays

Veeg om het menu te tonen

Naast basisindexering, waarbij je een geheel getal gebruikt voor een enkele index, kun je met NumPy ook een volledige 1D-array van gehele getallen (een lijst van gehele getallen is ook mogelijk) gebruiken voor indexering.

Indexering met gehele getallen in 1D-arrays

Elk element van de gehele getallen-array die voor indexering wordt gebruikt, wordt behandeld als een index. Bijvoorbeeld, array[[0, 1, 3]] haalt de elementen op bij de indices 0, 1 en 3 in de vorm van een 1D-array, ervan uitgaande dat array zelf een 1D-array is. Je kunt ook NumPy-arrays gebruiken voor indexering, maar dit maakt de code lastiger.

12345678
import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
1D-array indexering met gehele getallen

Indexering met gehele getallen in 2D-arrays

Bij 2D- en hoger-dimensionale arrays werkt indexering met gehele getallen op dezelfde manier als bij 1D-arrays langs elke as. Als je slechts één array van gehele getallen gebruikt voor indexering, indexeer je alleen langs één as (as 0). Als je twee arrays gescheiden door een komma gebruikt, indexeer je langs beide assen (as 0 en as 1).

Indexeren alleen langs as 0 met een array van gehele getallen levert een 2D-array op. Wanneer je elementen op deze manier benadert, groepeer je ze in een nieuwe array. Deze nieuwe array bestaat uit 1D-arrays, en het groeperen verhoogt de dimensionaliteit met één, wat resulteert in een 2D-array. Indexeren langs as 0 en as 1 met twee arrays van gehele getallen levert een 1D-array op.

Note
Opmerking

Alle arrays van gehele getallen die voor elke as worden gebruikt, moeten dezelfde vorm hebben.

123456789101112131415
import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
2D-array indexering met gehele getallen

Zoals je ziet kun je ook basisindexering met gehele getallen en indexering met een array van gehele getallen combineren.

Note
Opmerking

Opnieuw, als ten minste één van de indexen buiten het bereik valt, wordt een IndexError opgegooid.

Wat betreft toepassingen: dergelijke indexering is handig wanneer specifieke elementen geselecteerd moeten worden die niet naast elkaar liggen of geen regelmatig patroon volgen. In tegenstelling tot slicing, dat werkt met aaneengesloten reeksen, kun je met deze methode precies aangeven welke elementen opgehaald moeten worden. Dit is nuttig bij het extraheren van verspreide gegevens of het herschikken van waarden in een array.

1. Je analyseert de maandelijkse verkoopgegevens (in duizenden) voor vijf producten. Wat is de uitvoer van de code?

2. De array temperatures geeft de wekelijkse temperaturen (in °C) weer van drie steden op maandag, dinsdag en woensdag. Selecteer de juiste optie om de temperaturen van Berlijn op maandag en dinsdag, en Madrid op dinsdag op te halen.

question mark

Je analyseert de maandelijkse verkoopgegevens (in duizenden) voor vijf producten. Wat is de uitvoer van de code?

Selecteer het correcte antwoord

question mark

De array temperatures geeft de wekelijkse temperaturen (in °C) weer van drie steden op maandag, dinsdag en woensdag. Selecteer de juiste optie om de temperaturen van Berlijn op maandag en dinsdag, en Madrid op dinsdag op te halen.

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

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

Sectie 2. Hoofdstuk 5
some-alt