Come scambiare due righe in un array numpy (con esempio)


È possibile utilizzare la seguente sintassi di base per scambiare due righe in un array NumPy:

 some_array[[ 0 , 3 ]] = some_array[[ 3 , 0 ]]

Questo particolare esempio scambierà la prima e la quarta riga dell’array NumPy chiamato some_array .

Tutte le altre linee rimarranno nella loro posizione originale.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: scambia due righe in un array NumPy

Supponiamo di avere il seguente array NumPy:

 import numpy as np

#create NumPy array
some_array = np. array ([[1, 1, 2], [3, 3, 7], [4, 3, 1], [9, 9, 5], [6, 7, 7]])

#view NumPy array
print (some_array)

[[1 1 2]
 [3 3 7]
 [4 3 1]
 [9 9 5]
 [6 7 7]]

Possiamo usare la seguente sintassi per scambiare la prima e la quarta riga dell’array NumPy:

 #swap rows 1 and 4
some_array[[ 0 , 3 ]] = some_array[[ 3 , 0 ]]

#view updated NumPy array
print (some_array)

[[9 9 5]
 [3 3 7]
 [4 3 1]
 [1 1 2]
 [6 7 7]]

Da notare che la prima e la quarta riga sono state invertite.

Tutte le altre righe sono rimaste nella loro posizione originale.

Nota che some_array[[0, 3]] è una scorciatoia per some_array[[0, 3], :] quindi potremmo anche usare la seguente sintassi per ottenere gli stessi risultati:

 #swap rows 1 and 4
some_array[[ 0 , 3 ], :] = some_array[[ 3 , 0 ], :]

#view updated NumPy array
print (some_array)

[[9 9 5]
 [3 3 7]
 [4 3 1]
 [1 1 2]
 [6 7 7]]

Da notare che la prima e la quarta riga sono state invertite.

Questo risultato corrisponde al risultato ottenuto utilizzando la notazione abbreviata nell’esempio precedente.

Sentiti libero di usare qualunque notazione preferisci per scambiare due righe in un dato array NumPy.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in NumPy:

Come rimuovere gli elementi duplicati nell’array NumPy
Come sostituire gli elementi in un array NumPy
Come ordinare gli elementi nell’array NumPy

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *