Slicing negli Array 2D
L'affettamento negli array 2D e a dimensioni superiori funziona in modo simile all'affettamento negli array 1D. Tuttavia, negli array 2D, sono presenti due assi.
Se si desidera effettuare l'affettamento solo sull'asse 0 per recuperare array 1D, la sintassi rimane la stessa: array[start:end:step]. Se si desidera effettuare l'affettamento sugli elementi di questi array 1D (asse 1), la sintassi è la seguente: array[start:end:step, start:end:step]. In sostanza, il numero di affettamenti corrisponde al numero di dimensioni di un array.
Inoltre, è possibile utilizzare l'affettamento per un asse e l'indicizzazione di base per l'altro asse. Vediamo un esempio di affettamento 2D (i quadrati viola rappresentano gli elementi recuperati tramite affettamento, 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 sottostante mostra la struttura dell'array student_scores utilizzato nell'esercizio:
Swipe to start coding
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
Awesome!
Completion rate improved to 3.7
Slicing negli Array 2D
Scorri per mostrare il menu
L'affettamento negli array 2D e a dimensioni superiori funziona in modo simile all'affettamento negli array 1D. Tuttavia, negli array 2D, sono presenti due assi.
Se si desidera effettuare l'affettamento solo sull'asse 0 per recuperare array 1D, la sintassi rimane la stessa: array[start:end:step]. Se si desidera effettuare l'affettamento sugli elementi di questi array 1D (asse 1), la sintassi è la seguente: array[start:end:step, start:end:step]. In sostanza, il numero di affettamenti corrisponde al numero di dimensioni di un array.
Inoltre, è possibile utilizzare l'affettamento per un asse e l'indicizzazione di base per l'altro asse. Vediamo un esempio di affettamento 2D (i quadrati viola rappresentano gli elementi recuperati tramite affettamento, 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 sottostante mostra la struttura dell'array student_scores utilizzato nell'esercizio:
Swipe to start coding
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