Skivning i 2D-arrayer
Slicing i 2D och högre-dimensionella arrayer fungerar på liknande sätt som slicing i 1D-arrayer. Dock finns det två axlar i 2D-arrayer.
Om vi vill utföra slicing endast på axel 0 för att hämta 1D-arrayer, förblir syntaxen densamma: array[start:end:step]. Om vi vill utföra slicing på elementen i dessa 1D-arrayer (axel 1), är syntaxen följande: array[start:end:step, start:end:step]. I princip motsvarar antalet slices antalet dimensioner i en array.
Dessutom kan vi använda slicing för en axel och grundläggande indexering för den andra axeln. Låt oss titta på ett exempel på 2D-slicing (lila rutor representerar de element som hämtas från slicing, och den svarta pilen indikerar att elementen tas i omvänd ordning):
1234567891011import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
Bilden nedan visar strukturen för arrayen student_scores som används i uppgiften:
Swipe to start coding
Du arbetar med en 2D NumPy-array som representerar poängen för tre studenter i tre olika ämnen. Poängen för varje student lagras i en separat rad, där varje element representerar poängen i ett specifikt ämne.
- Skapa en slice av
student_scoressom inkluderar de två sista poängen för den första studenten (första raden). - Använd grundläggande indexering (positiv indexering) och slicing, där du endast anger ett positivt
start-värde.
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
Skivning i 2D-arrayer
Svep för att visa menyn
Slicing i 2D och högre-dimensionella arrayer fungerar på liknande sätt som slicing i 1D-arrayer. Dock finns det två axlar i 2D-arrayer.
Om vi vill utföra slicing endast på axel 0 för att hämta 1D-arrayer, förblir syntaxen densamma: array[start:end:step]. Om vi vill utföra slicing på elementen i dessa 1D-arrayer (axel 1), är syntaxen följande: array[start:end:step, start:end:step]. I princip motsvarar antalet slices antalet dimensioner i en array.
Dessutom kan vi använda slicing för en axel och grundläggande indexering för den andra axeln. Låt oss titta på ett exempel på 2D-slicing (lila rutor representerar de element som hämtas från slicing, och den svarta pilen indikerar att elementen tas i omvänd ordning):
1234567891011import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
Bilden nedan visar strukturen för arrayen student_scores som används i uppgiften:
Swipe to start coding
Du arbetar med en 2D NumPy-array som representerar poängen för tre studenter i tre olika ämnen. Poängen för varje student lagras i en separat rad, där varje element representerar poängen i ett specifikt ämne.
- Skapa en slice av
student_scoressom inkluderar de två sista poängen för den första studenten (första raden). - Använd grundläggande indexering (positiv indexering) och slicing, där du endast anger ett positivt
start-värde.
Lösning
Tack för dina kommentarer!
single