Multidimensionell Indexering
Nu när du kan komma åt element i 1D-arrayer är det dags att lära sig om indexering i högre dimensionella arrayer.
2D-arrayer indexering
Detta är en 2x3
array, vilket betyder att den består av 2
1D-arrayer längs axel 0, och var och en av dessa 1D-arrayer har 3
element längs axel 1.
Bilderna nedan kommer att klargöra 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 åtkom vi element genom att ange indexet för elementet i hakparenteser. Om vi gör samma sak i 2D-arrayer hämtar vi en 1D-array vid det angivna indexet, vilket kan vara precis vad vi behöver.
Men om vi vill hämta ett särskilt element i en inre 1D-array, bör vi ange indexet för 1D-arrayen (längs axel 0) och indexet 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 det utför sökningen två gånger för varje index istället för en gång.
Notera
Om ett angivet index är utanför gränserna kastas ett
IndexError
, så var försiktig med det.
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 stock_prices
-arrayen som används i uppgiften:
Swipe to start coding
stock_prices
innehåller simulerade aktiekurser över fem dagar för fem olika företag. Varje rad motsvarar ett visst företag, och varje kolumn motsvarar en viss dag. Följaktligen representerar varje element i matrisen stängningskursen för ett visst företags aktie på en given dag.
-
Hämta alla aktiekurser för det första företaget över 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
Awesome!
Completion rate improved to 3.7
Multidimensionell Indexering
Svep för att visa menyn
Nu när du kan komma åt element i 1D-arrayer är det dags att lära sig om indexering i högre dimensionella arrayer.
2D-arrayer indexering
Detta är en 2x3
array, vilket betyder att den består av 2
1D-arrayer längs axel 0, och var och en av dessa 1D-arrayer har 3
element längs axel 1.
Bilderna nedan kommer att klargöra 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 åtkom vi element genom att ange indexet för elementet i hakparenteser. Om vi gör samma sak i 2D-arrayer hämtar vi en 1D-array vid det angivna indexet, vilket kan vara precis vad vi behöver.
Men om vi vill hämta ett särskilt element i en inre 1D-array, bör vi ange indexet för 1D-arrayen (längs axel 0) och indexet 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 det utför sökningen två gånger för varje index istället för en gång.
Notera
Om ett angivet index är utanför gränserna kastas ett
IndexError
, så var försiktig med det.
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 stock_prices
-arrayen som används i uppgiften:
Swipe to start coding
stock_prices
innehåller simulerade aktiekurser över fem dagar för fem olika företag. Varje rad motsvarar ett visst företag, och varje kolumn motsvarar en viss dag. Följaktligen representerar varje element i matrisen stängningskursen för ett visst företags aktie på en given dag.
-
Hämta alla aktiekurser för det första företaget över 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!
Awesome!
Completion rate improved to 3.7single