Come confrontare due array numpy: con esempi


È possibile utilizzare i seguenti metodi per confrontare i valori di due array NumPy:

Metodo 1: verifica se due array NumPy sono uguali a livello di elemento

 #test if array A and array B are element-wise equal
n.p. array_equal (A,B)

Metodo 2: verifica se due array NumPy sono uguali a livello di elemento (entro una tolleranza)

 #test if array A and array B are element-wise equal (within absolute tolerance of 2)
n.p. allclose (A, B, atol= 2 )

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Esempio 1: verifica se due array NumPy sono uguali a livello di elemento

Il codice seguente mostra come utilizzare la funzione array_equal() per verificare se due array NumPy sono uguali a livello di elemento:

 import numpy as np

#create two NumPy arrays
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 5, 7, 10])

#test if arrays are element-wise equal
n.p. array_equal (A,B)

True

La funzione restituisce True poiché entrambi gli array NumPy hanno la stessa lunghezza con gli stessi valori nelle stesse posizioni.

Tuttavia, la funzione restituirà False se i due array NumPy hanno gli stessi valori ma in posizioni diverse:

 import numpy as np

#create two NumPy arrays with same values but in different positions
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 7, 5, 10])

#test if arrays are element-wise equal
n.p. array_equal (A,B)

False

Esempio 2: verifica se due array NumPy sono uguali a livello di elemento (entro la tolleranza)

Il codice seguente mostra come utilizzare la funzione allclose() per verificare se due array NumPy sono uguali a livello di elemento entro un valore di tolleranza pari a 2 :

 import numpy as np

#create two NumPy arrays
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 7, 8, 10])

#test if arrays are element-wise equal (within absolute tolerance of 2)
n.p. allclose (A, B, atol= 2 )

True

La funzione restituisce True poiché gli elementi corrispondenti tra ciascun array NumPy sono tutti entro 2 l’uno dall’altro.

Ad esempio, vediamo che gli elementi nella terza e quarta posizione di ciascun array sono diversi, ma poiché ogni coppia è composta da 2 valori a parte, la funzione restituisce true.

Tuttavia, se modifichiamo l’argomento della tolleranza assoluta (atol) in 1 , la funzione restituirà False :

 import numpy as np

#create two NumPy arrays
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 7, 8, 10])

#test if arrays are element-wise equal (within absolute tolerance of 1)
n.p. allclose (A, B, atol= 1 )

False

La funzione restituisce False poiché gli elementi corrispondenti nella terza posizione di ciascun array NumPy non sono distanti 1 s l’uno dall’altro.

Nota : fare riferimento alla documentazione di NumPy per una spiegazione completa delle funzioni array_equal e allclose .

Risorse addizionali

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

Come spostare gli elementi in un array NumPy
Come contare le occorrenze degli elementi in NumPy
Come calcolare la modalità dell’array NumPy

Aggiungi un commento

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