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!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Riassuma questo capitolo
Explain code
Explain why doesn't solve task
Awesome!
Completion rate improved to 3.7
Slicing in 2D Arrays
Scorri per mostrare il menu
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!
Awesome!
Completion rate improved to 3.7single