Slicing in 2D Arrays
Il slicing in array 2D e array a dimensioni superiori funziona in modo simile al slicing negli array 1D. Tuttavia, negli array 2D, ci sono due assi.
Se vogliamo eseguire il slicing solo sull'asse 0 per recuperare array 1D, la sintassi rimane la stessa: array[start:end:step]
. Se vogliamo eseguire il slicing sugli elementi di questi array 1D (asse 1), la sintassi è la seguente: array[start:end:step, start:end:step]
. Essenzialmente, il numero di slice corrisponde al numero di dimensioni di un array.
Inoltre, possiamo usare il slicing per un asse e l'indicizzazione di base per l'altro asse. Diamo un'occhiata a un esempio di slicing 2D (i quadrati viola rappresentano gli elementi recuperati dal slicing, e la freccia nera indica che gli elementi sono presi in ordine inverso):
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])
L'immagine qui sotto mostra la struttura dell'array student_scores
utilizzato nel compito:
Swipe to start coding
Stai lavorando con un array NumPy 2D che rappresenta i punteggi di tre studenti in tre materie diverse. I punteggi per ogni studente sono memorizzati in una riga separata, con ogni elemento che rappresenta il punteggio in una materia specifica.
-
Crea una slice di
student_scores
che includa gli ultimi due punteggi del primo studente (prima riga). -
Usa l'indicizzazione di base (indicizzazione positiva) e slicing, specificando solo un
start
positivo.
Soluzione
Grazie per i tuoi commenti!
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione