Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Slicing in Array 2D | Indicizzazione e Slicing
Basi di NumPy
Sezione 2. Capitolo 4
single

single

Slicing in Array 2D

Scorri per mostrare il menu

Il slicing negli array 2D e negli array a dimensioni superiori funziona in modo simile al slicing negli array 1D. Tuttavia, negli array 2D sono presenti due assi.

Se si desidera effettuare il slicing solo sull’asse 0 per ottenere array 1D, la sintassi rimane la stessa: array[start:end:step]. Se si vuole effettuare il slicing sugli elementi di questi array 1D (asse 1), la sintassi è la seguente: array[start:end:step, start:end:step]. In sostanza, il numero di slice corrisponde al numero di dimensioni di un array.

Inoltre, è possibile utilizzare il slicing per un asse e l’indicizzazione di base per l’altro asse. Di seguito un esempio di slicing 2D (i quadrati viola rappresentano gli elementi ottenuti dal slicing, mentre la freccia nera indica che gli elementi sono presi in ordine inverso):

Esempio di slicing 2D
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])

L'immagine sottostante mostra la struttura dell'array student_scores utilizzato nell'esercizio:

Punteggi degli studenti
Compito

Scorri per iniziare a programmare

Stai lavorando con un array NumPy 2D che rappresenta i punteggi di tre studenti in tre materie diverse. I punteggi di ciascuno studente sono memorizzati in una riga separata, con ogni elemento che rappresenta il punteggio in una materia specifica.

  1. Crea uno slice di student_scores che includa gli ultimi due punteggi del primo studente (prima riga).
  2. Utilizza l'indicizzazione di base (indicizzazione positiva) e lo slicing, specificando solo un start positivo.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt