Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Multidimensionell Indexering | Indexering och Skivning
Ultimata NumPy

bookMultidimensionell Indexering

Nu när du kan komma åt element i endimensionella arrayer är det dags att lära sig om indexering i högdimensionella arrayer.

Indexering av 2D-arrayer

Detta är en 2x3 array, vilket innebär att den består av 2 endimensionella arrayer längs axel 0, och varje av dessa endimensionella arrayer har 3 element längs axel 1.

Bilderna nedan förtydligar positiv och negativ indexering i 2D-arrayer (arrayvärden visas i svart, och index visas i grönt för positiva index och rött för negativa index):

Åtkomst till element i 2D-arrayer

I 1D-arrayer nås element genom att ange index för elementet inom hakparenteser. Om vi gör samma sak i 2D-arrayer, hämtas en 1D-array vid det angivna indexet, vilket kan vara precis vad som behövs.

Om vi däremot vill hämta ett specifikt element i en inre 1D-array, ska vi ange index för 1D-arrayen (längs axel 0) och index för dess element (längs axel 1), t.ex. array[0, 1]. Det går även att skriva array[0][1] som med Python-list, men detta är mindre effektivt eftersom sökningen utförs två gånger för varje index istället för en gång.

Note
Notera

Om ett angivet index är utanför gränserna kastas ett IndexError, så var uppmärksam på detta.

12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Accessing the first element (1D array) with positive index print(array_2d[0]) # Accessing the second element of the first 1D array with positive index print(array_2d[0, 1]) # Accessing the last element of the last 1D array with negative index print(array_2d[-1, -1])
copy

Bilden nedan visar strukturen för arrayen stock_prices som används i uppgiften:

Uppgift

Swipe to start coding

stock_prices innehåller simulerade aktiekurser under fem dagar för fem olika företag. Varje rad motsvarar ett specifikt företag, och varje kolumn motsvarar en specifik dag. Följaktligen representerar varje element i matrisen stängningskursen för ett visst företags aktie en given dag.

  1. Hämta alla aktiekurser för det första företaget under fem dagar med hjälp av positiv indexering.
  2. Hämta aktiekursen för det tredje företaget på den andra dagen med hjälp av positiv indexering.
  3. Hämta aktiekursen för det sista företaget på den sista dagen med hjälp av negativ indexering.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 3.7

bookMultidimensionell Indexering

Svep för att visa menyn

Nu när du kan komma åt element i endimensionella arrayer är det dags att lära sig om indexering i högdimensionella arrayer.

Indexering av 2D-arrayer

Detta är en 2x3 array, vilket innebär att den består av 2 endimensionella arrayer längs axel 0, och varje av dessa endimensionella arrayer har 3 element längs axel 1.

Bilderna nedan förtydligar positiv och negativ indexering i 2D-arrayer (arrayvärden visas i svart, och index visas i grönt för positiva index och rött för negativa index):

Åtkomst till element i 2D-arrayer

I 1D-arrayer nås element genom att ange index för elementet inom hakparenteser. Om vi gör samma sak i 2D-arrayer, hämtas en 1D-array vid det angivna indexet, vilket kan vara precis vad som behövs.

Om vi däremot vill hämta ett specifikt element i en inre 1D-array, ska vi ange index för 1D-arrayen (längs axel 0) och index för dess element (längs axel 1), t.ex. array[0, 1]. Det går även att skriva array[0][1] som med Python-list, men detta är mindre effektivt eftersom sökningen utförs två gånger för varje index istället för en gång.

Note
Notera

Om ett angivet index är utanför gränserna kastas ett IndexError, så var uppmärksam på detta.

12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Accessing the first element (1D array) with positive index print(array_2d[0]) # Accessing the second element of the first 1D array with positive index print(array_2d[0, 1]) # Accessing the last element of the last 1D array with negative index print(array_2d[-1, -1])
copy

Bilden nedan visar strukturen för arrayen stock_prices som används i uppgiften:

Uppgift

Swipe to start coding

stock_prices innehåller simulerade aktiekurser under fem dagar för fem olika företag. Varje rad motsvarar ett specifikt företag, och varje kolumn motsvarar en specifik dag. Följaktligen representerar varje element i matrisen stängningskursen för ett visst företags aktie en given dag.

  1. Hämta alla aktiekurser för det första företaget under fem dagar med hjälp av positiv indexering.
  2. Hämta aktiekursen för det tredje företaget på den andra dagen med hjälp av positiv indexering.
  3. Hämta aktiekursen för det sista företaget på den sista dagen med hjälp av negativ indexering.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2
single

single

some-alt