Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Heltallsindeksering av Matriser | Indeksering og Slicing
Ultimate NumPy
course content

Kursinnhold

Ultimate NumPy

Ultimate NumPy

1. NumPy-Grunnleggende
2. Indeksering og Slicing
3. Vanlig Brukte NumPy-Funksjoner
4. Matematikk med NumPy

book
Heltallsindeksering av Matriser

Bortsett fra grunnleggende indeksering, hvor vi bruker et heltall for en enkelt indeks, tillater NumPy oss også å bruke en hel 1D-array av heltall (en liste av heltall er også mulig) for indeksering.

Heltallsarray-indeksering i 1D-arrayer

Hvert element i heltallsarrayet som brukes til indeksering behandles som en indeks, så for eksempel, array[[0, 1, 3]] henter elementene på indeksene 0, 1 og 3 i form av en 1D-array, gitt at array er en 1D-array selv. Du kan også bruke NumPy-arrayer for indeksering, men det gjør koden mer tungvint.

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

Heltallsindeksering i 1D-arrays

Når vi snakker om 2D og høyere-dimensjonale arrays, fungerer heltallsindeksering på samme måte som i 1D-arrays langs hver akse. Hvis vi bruker kun én heltallsarray for indeksering, indekserer vi langs kun én akse (akse 0). Hvis vi bruker to arrays adskilt av et komma, indekserer vi langs begge aksene (akse 0 og akse 1).

Indeksering kun langs akse 0 ved bruk av en array av heltall returnerer en 2D-array. Når vi får tilgang til elementer via slik indeksering, grupperer vi dem i en ny array. Denne nye arrayen består av 1D-arrays, og gruppering av dem øker dimensjonaliteten med én, noe som resulterer i en 2D-array.

Indeksering langs akse 0 og akse 1 ved bruk av to arrays av heltall returnerer en 1D-array.

Merk

Alle heltallsarrays brukt for hver av aksene må ha 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 grunnleggende heltallsindeksering og heltallsarray-indeksering.

Merk

Nok en gang, hvis minst én av indeksene er utenfor grensene, kastes en IndexError.

Når det gjelder anvendelser, er slik indeksering nyttig når du trenger å velge spesifikke elementer som ikke er ved siden av hverandre eller ikke følger en regelmessig rekkefølge. I motsetning til slicing, som fungerer med kontinuerlige områder, lar denne metoden deg velge nøyaktig hvilke elementer du vil hente. Det er nyttig når du vil trekke ut spredte data eller omorganisere verdier i en array.

1. Du analyserer månedlige salgsdata (i tusen) for fem produkter. Hva er utdataene fra koden?

2. temperatures-arrayet representerer ukentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Velg det riktige alternativet for å hente temperaturene i Berlin på mandag og tirsdag, og Madrid på tirsdag.

question mark

Du analyserer månedlige salgsdata (i tusen) for fem produkter. Hva er utdataene fra koden?

Select the correct answer

question mark

temperatures-arrayet representerer ukentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Velg det riktige alternativet for å hente temperaturene i Berlin på mandag og tirsdag, og Madrid på tirsdag.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

course content

Kursinnhold

Ultimate NumPy

Ultimate NumPy

1. NumPy-Grunnleggende
2. Indeksering og Slicing
3. Vanlig Brukte NumPy-Funksjoner
4. Matematikk med NumPy

book
Heltallsindeksering av Matriser

Bortsett fra grunnleggende indeksering, hvor vi bruker et heltall for en enkelt indeks, tillater NumPy oss også å bruke en hel 1D-array av heltall (en liste av heltall er også mulig) for indeksering.

Heltallsarray-indeksering i 1D-arrayer

Hvert element i heltallsarrayet som brukes til indeksering behandles som en indeks, så for eksempel, array[[0, 1, 3]] henter elementene på indeksene 0, 1 og 3 i form av en 1D-array, gitt at array er en 1D-array selv. Du kan også bruke NumPy-arrayer for indeksering, men det gjør koden mer tungvint.

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

Heltallsindeksering i 1D-arrays

Når vi snakker om 2D og høyere-dimensjonale arrays, fungerer heltallsindeksering på samme måte som i 1D-arrays langs hver akse. Hvis vi bruker kun én heltallsarray for indeksering, indekserer vi langs kun én akse (akse 0). Hvis vi bruker to arrays adskilt av et komma, indekserer vi langs begge aksene (akse 0 og akse 1).

Indeksering kun langs akse 0 ved bruk av en array av heltall returnerer en 2D-array. Når vi får tilgang til elementer via slik indeksering, grupperer vi dem i en ny array. Denne nye arrayen består av 1D-arrays, og gruppering av dem øker dimensjonaliteten med én, noe som resulterer i en 2D-array.

Indeksering langs akse 0 og akse 1 ved bruk av to arrays av heltall returnerer en 1D-array.

Merk

Alle heltallsarrays brukt for hver av aksene må ha 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 grunnleggende heltallsindeksering og heltallsarray-indeksering.

Merk

Nok en gang, hvis minst én av indeksene er utenfor grensene, kastes en IndexError.

Når det gjelder anvendelser, er slik indeksering nyttig når du trenger å velge spesifikke elementer som ikke er ved siden av hverandre eller ikke følger en regelmessig rekkefølge. I motsetning til slicing, som fungerer med kontinuerlige områder, lar denne metoden deg velge nøyaktig hvilke elementer du vil hente. Det er nyttig når du vil trekke ut spredte data eller omorganisere verdier i en array.

1. Du analyserer månedlige salgsdata (i tusen) for fem produkter. Hva er utdataene fra koden?

2. temperatures-arrayet representerer ukentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Velg det riktige alternativet for å hente temperaturene i Berlin på mandag og tirsdag, og Madrid på tirsdag.

question mark

Du analyserer månedlige salgsdata (i tusen) for fem produkter. Hva er utdataene fra koden?

Select the correct answer

question mark

temperatures-arrayet representerer ukentlige temperaturer (i °C) for tre byer over mandag, tirsdag og onsdag. Velg det riktige alternativet for å hente temperaturene i Berlin på mandag og tirsdag, og Madrid på tirsdag.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5
Vi beklager at noe gikk galt. Hva skjedde?
some-alt