Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Slicing in 2D-Arrays | Indexering en Slicing
Numpy Basisprincipes
close
Sectie 2. Hoofdstuk 4
single

single

bookSlicing in 2D-Arrays

Veeg om het menu te tonen

Slicing in 2D- en hogere-dimensionale arrays werkt op vergelijkbare wijze als slicing in 1D-arrays. In 2D-arrays zijn er echter twee assen.

Als slicing alleen op as 0 wordt uitgevoerd om 1D-arrays op te halen, blijft de syntaxis hetzelfde: array[start:end:step]. Voor slicing op de elementen van deze 1D-arrays (as 1) is de syntaxis als volgt: array[start:end:step, start:end:step]. Het aantal slices komt in wezen overeen met het aantal dimensies van een array.

Daarnaast kan slicing voor één as en basisindexering voor de andere as worden gebruikt. Bekijk het volgende voorbeeld van 2D-slicing (paarse vierkanten geven de opgehaalde elementen aan, en de zwarte pijl geeft aan dat de elementen in omgekeerde volgorde worden genomen):

1234567891011121314151617181920
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) # Initial Array print("Initial array_2d:\n", array_2d) # Rows from index 1 to the end print("\narray_2d[1:]:\n", array_2d[1:]) # All rows, first column only print("\narray_2d[:, 0]:\n", array_2d[:, 0]) # Subarray: rows from 1 to end, columns from 1 to second-to-last print("\narray_2d[1:, 1:-1]:\n", array_2d[1:, 1:-1]) # All rows except the last, every second column print("\narray_2d[:-1, ::2]:\n", array_2d[:-1, ::2]) # Third row (index 2) reversed print("\narray_2d[2, ::-1]:\n", array_2d[2, ::-1])
copy

De onderstaande afbeelding toont de structuur van de array student_scores die in de opdracht wordt gebruikt:

Taak

Swipe to start coding

Je werkt met een 2D NumPy-array die de scores van drie studenten in drie verschillende vakken weergeeft. De scores voor elke student zijn opgeslagen in een aparte rij, waarbij elk element de score in een specifiek vak vertegenwoordigt.

  1. Maak een slice van student_scores die de laatste twee scores van de eerste student (eerste rij) bevat.
  2. Gebruik basisindexering (positieve indexering) en slicing, waarbij je alleen een positieve start opgeeft.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt