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):
1234567891011121314151617181920import 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:
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.
- Crea uno slice di
student_scoresche includa gli ultimi due punteggi del primo studente (prima riga). - Utilizza l'indicizzazione di base (indicizzazione positiva) e lo slicing, specificando solo un
startpositivo.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione