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

Svep för att visa menyn

book
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.

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 stock_prices-arrayen som används i uppgiften:

Uppgift

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.

  1. Hämta alla aktiekurser för det första företaget över 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

Fråga AI

expand
ChatGPT

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

book
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.

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 stock_prices-arrayen som används i uppgiften:

Uppgift

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.

  1. Hämta alla aktiekurser för det första företaget över 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
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt