Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Heltal Array Indeksering | Indeksering og Skæring
Ultimativ NumPy
course content

Kursusindhold

Ultimativ NumPy

Ultimativ NumPy

1. NumPy Grundlæggende
2. Indeksering og Skæring
3. Almindeligt Anvendte NumPy-Funktioner
4. Matematik med NumPy

book
Heltal Array Indeksering

Udover grundlæggende indeksering, hvor vi bruger et heltal til et enkelt indeks, tillader NumPy os også at bruge en hel 1D array af heltal (en liste af heltal er også mulig) til indeksering.

Heltalsarray Indeksering i 1D Arrays

Hvert element i heltalsarrayet, der bruges til indeksering, behandles som et indeks, så for eksempel array[[0, 1, 3]] henter elementer ved indeks 0, 1 og 3 i form af en 1D array, givet at array selv er en 1D array. Du kan også bruge NumPy arrays til indeksering, men det gør koden mere besværlig.

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

Heltals Array Indeksering i 1D Arrays

Når vi taler om 2D og højere-dimensionelle arrays, fungerer heltals array indeksering på samme måde som i 1D arrays langs hver akse. Hvis vi kun bruger én heltals array til indeksering, indekserer vi kun langs én akse (akse 0). Hvis vi bruger to arrays adskilt af et komma, indekserer vi langs begge akser (akse 0 og akse 1).

Indeksering kun langs akse 0 ved hjælp af en array af heltal returnerer et 2D array. Når vi tilgår elementer via sådan indeksering, grupperer vi dem i et nyt array. Dette nye array består af 1D arrays, og gruppering af dem øger dimensionaliteten med én, hvilket resulterer i et 2D array.

Indeksering langs akse 0 og akse 1 ved hjælp af to arrays af heltal returnerer et 1D array.

Note

Alle heltals arrays, der bruges til hver af akserne, skal have samme form.

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

Som du kan se, kan vi også kombinere grundlæggende heltalsindeksering og heltalsarray-indeksering.

Note

Endnu en gang, hvis mindst én af indeksene er uden for grænserne, kastes en IndexError.

Når vi taler om anvendelser, er sådan indeksering nyttig, når du har brug for at vælge specifikke elementer, der ikke er ved siden af hinanden eller ikke følger en regelmæssig rækkefølge. I modsætning til slicing, som arbejder med kontinuerlige intervaller, lader denne metode dig vælge præcis hvilke elementer der skal hentes. Det er nyttigt, når du vil udtrække spredte data eller omarrangere værdier i et array.

1. Du analyserer de månedlige salgsdata (i tusinder) for fem produkter. Hvad er outputtet af koden?

2. temperatures arrayet repræsenterer de ugentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Vælg den korrekte mulighed for at hente temperaturerne for Berlin på mandag og tirsdag, og Madrid på tirsdag.

question mark

Du analyserer de månedlige salgsdata (i tusinder) for fem produkter. Hvad er outputtet af koden?

Select the correct answer

question mark

temperatures arrayet repræsenterer de ugentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Vælg den korrekte mulighed for at hente temperaturerne for Berlin på mandag og tirsdag, og Madrid på tirsdag.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 5

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

course content

Kursusindhold

Ultimativ NumPy

Ultimativ NumPy

1. NumPy Grundlæggende
2. Indeksering og Skæring
3. Almindeligt Anvendte NumPy-Funktioner
4. Matematik med NumPy

book
Heltal Array Indeksering

Udover grundlæggende indeksering, hvor vi bruger et heltal til et enkelt indeks, tillader NumPy os også at bruge en hel 1D array af heltal (en liste af heltal er også mulig) til indeksering.

Heltalsarray Indeksering i 1D Arrays

Hvert element i heltalsarrayet, der bruges til indeksering, behandles som et indeks, så for eksempel array[[0, 1, 3]] henter elementer ved indeks 0, 1 og 3 i form af en 1D array, givet at array selv er en 1D array. Du kan også bruge NumPy arrays til indeksering, men det gør koden mere besværlig.

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

Heltals Array Indeksering i 1D Arrays

Når vi taler om 2D og højere-dimensionelle arrays, fungerer heltals array indeksering på samme måde som i 1D arrays langs hver akse. Hvis vi kun bruger én heltals array til indeksering, indekserer vi kun langs én akse (akse 0). Hvis vi bruger to arrays adskilt af et komma, indekserer vi langs begge akser (akse 0 og akse 1).

Indeksering kun langs akse 0 ved hjælp af en array af heltal returnerer et 2D array. Når vi tilgår elementer via sådan indeksering, grupperer vi dem i et nyt array. Dette nye array består af 1D arrays, og gruppering af dem øger dimensionaliteten med én, hvilket resulterer i et 2D array.

Indeksering langs akse 0 og akse 1 ved hjælp af to arrays af heltal returnerer et 1D array.

Note

Alle heltals arrays, der bruges til hver af akserne, skal have samme form.

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

Som du kan se, kan vi også kombinere grundlæggende heltalsindeksering og heltalsarray-indeksering.

Note

Endnu en gang, hvis mindst én af indeksene er uden for grænserne, kastes en IndexError.

Når vi taler om anvendelser, er sådan indeksering nyttig, når du har brug for at vælge specifikke elementer, der ikke er ved siden af hinanden eller ikke følger en regelmæssig rækkefølge. I modsætning til slicing, som arbejder med kontinuerlige intervaller, lader denne metode dig vælge præcis hvilke elementer der skal hentes. Det er nyttigt, når du vil udtrække spredte data eller omarrangere værdier i et array.

1. Du analyserer de månedlige salgsdata (i tusinder) for fem produkter. Hvad er outputtet af koden?

2. temperatures arrayet repræsenterer de ugentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Vælg den korrekte mulighed for at hente temperaturerne for Berlin på mandag og tirsdag, og Madrid på tirsdag.

question mark

Du analyserer de månedlige salgsdata (i tusinder) for fem produkter. Hvad er outputtet af koden?

Select the correct answer

question mark

temperatures arrayet repræsenterer de ugentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Vælg den korrekte mulighed for at hente temperaturerne for Berlin på mandag og tirsdag, og Madrid på tirsdag.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 5
Vi beklager, at noget gik galt. Hvad skete der?
some-alt