Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Slicing in 2D Arrays | Indicizzazione e Slicing
Numpy Definitivo

book
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):

import 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])
1234567891011
import 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])
copy

L'immagine qui sotto mostra la struttura dell'array student_scores utilizzato nel compito:

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.

  1. Crea una slice di student_scores che includa gli ultimi due punteggi del primo studente (prima riga).

  2. Usa l'indicizzazione di base (indicizzazione positiva) e slicing, specificando solo un start positivo.

Soluzione

import numpy as np
# Scores of three students in three subjects
student_scores = np.array([[85, 92, 78], [88, 75, 83], [90, 88, 91]])
# Create a slice of student_scores with the scores of the first student in the last two subjects
first_student_last_two_scores = student_scores[0, 1:]
print(first_student_last_two_scores)

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
import numpy as np
# Scores of three students in three subjects
student_scores = np.array([[85, 92, 78], [88, 75, 83], [90, 88, 91]])
# Create a slice of student_scores with the scores of the first student in the last two subjects
first_student_last_two_scores = ___
print(first_student_last_two_scores)

Chieda ad AI

expand
ChatGPT

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

some-alt