single
Multidimensionell 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 var och en 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 hämtade vi element genom att ange index för elementet inom hakparenteser. Om vi gör samma sak i 2D-arrayer får vi en 1D-array vid det angivna indexet, vilket kan vara precis vad vi behöver.
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]. Vi kan också skriva array[0][1] som vi gör 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.
Om ett angivet index är utanför gränserna kastas ett IndexError, så var uppmärksam på detta.
12345678import 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])
Bilden nedan visar strukturen för arrayen stock_prices som används i uppgiften:
Svep för att börja koda
stock_prices innehåller simulerade aktiekurser över fem dagar för fem olika företag. Varje rad motsvarar ett specifikt företag, och varje kolumn motsvarar en specifik dag. Därmed representerar varje element i matrisen stängningskursen för ett visst företags aktie en given dag.
- Hämta alla aktiekurser för det första företaget under fem dagar med hjälp av positiv indexering.
- Hämta aktiekursen för det tredje företaget på den andra dagen med hjälp av positiv indexering.
- Hämta aktiekursen för det sista företaget på den sista dagen med hjälp av negativ indexering.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal