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

bookIndexering met Gehele Getallenarrays

Naast de basisindexering, waarbij een geheel getal wordt gebruikt voor een enkele index, staat NumPy ook toe om een volledige 1D-array van gehele getallen (een lijst van gehele getallen is ook mogelijk) te gebruiken voor indexering.

Indexering met gehele getallen in 1D-arrays

Elk element van de array met gehele getallen die voor indexering wordt gebruikt, wordt behandeld als een index. Bijvoorbeeld, array[[0, 1, 3]] haalt de elementen op met indexen 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]])
copy

Integer-array-indexering in 1D-arrays

Voor 2D- en hoger-dimensionale arrays werkt integer-array-indexering op dezelfde manier als bij 1D-arrays langs elke as. Wanneer slechts één integer-array wordt gebruikt voor indexering, vindt indexering plaats langs slechts één as (as 0). Bij gebruik van twee arrays, gescheiden door een komma, wordt er langs beide assen geïndexeerd (as 0 en as 1).

Indexeren langs alleen as 0 met een array van gehele getallen levert een 2D-array op. Bij het benaderen van elementen via deze indexering worden ze gegroepeerd 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 integer-arrays 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]])
copy

Zoals je kunt zien, kunnen we ook basis-integer-indexering en integer-array-indexering combineren.

Note
Opmerking

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

Wat betreft toepassingen: dergelijke indexering is nuttig 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 bepalen welke elementen je wilt ophalen. Dit is handig wanneer je verspreide gegevens wilt extraheren of waarden in een array wilt herschikken.

1. U 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

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

Select the correct answer

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.

Select the correct answer

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.

Suggested prompts:

Can you explain how negative indices work with integer array indexing?

What happens if the arrays used for indexing have different lengths?

Can you give more examples of combining basic and integer array indexing?

Awesome!

Completion rate improved to 3.7

bookIndexering met Gehele Getallenarrays

Veeg om het menu te tonen

Naast de basisindexering, waarbij een geheel getal wordt gebruikt voor een enkele index, staat NumPy ook toe om een volledige 1D-array van gehele getallen (een lijst van gehele getallen is ook mogelijk) te gebruiken voor indexering.

Indexering met gehele getallen in 1D-arrays

Elk element van de array met gehele getallen die voor indexering wordt gebruikt, wordt behandeld als een index. Bijvoorbeeld, array[[0, 1, 3]] haalt de elementen op met indexen 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]])
copy

Integer-array-indexering in 1D-arrays

Voor 2D- en hoger-dimensionale arrays werkt integer-array-indexering op dezelfde manier als bij 1D-arrays langs elke as. Wanneer slechts één integer-array wordt gebruikt voor indexering, vindt indexering plaats langs slechts één as (as 0). Bij gebruik van twee arrays, gescheiden door een komma, wordt er langs beide assen geïndexeerd (as 0 en as 1).

Indexeren langs alleen as 0 met een array van gehele getallen levert een 2D-array op. Bij het benaderen van elementen via deze indexering worden ze gegroepeerd 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 integer-arrays 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]])
copy

Zoals je kunt zien, kunnen we ook basis-integer-indexering en integer-array-indexering combineren.

Note
Opmerking

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

Wat betreft toepassingen: dergelijke indexering is nuttig 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 bepalen welke elementen je wilt ophalen. Dit is handig wanneer je verspreide gegevens wilt extraheren of waarden in een array wilt herschikken.

1. U 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

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

Select the correct answer

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.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5
some-alt