So vergleichen sie zwei numpy-arrays: mit beispielen


Sie können die folgenden Methoden verwenden, um die Werte zweier NumPy-Arrays zu vergleichen:

Methode 1: Testen Sie, ob zwei NumPy-Arrays auf Elementebene gleich sind

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

Methode 2: Testen Sie, ob zwei NumPy-Arrays auf Elementebene gleich sind (innerhalb einer Toleranz).

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

Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.

Beispiel 1: Testen Sie, ob zwei NumPy-Arrays auf Elementebene gleich sind

Der folgende Code zeigt, wie Sie mit der Funktion array_equal() testen, ob zwei NumPy-Arrays auf Elementebene gleich sind:

 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

Die Funktion gibt True zurück, da beide NumPy-Arrays die gleiche Länge mit den gleichen Werten an den gleichen Positionen haben.

Die Funktion gibt jedoch False zurück, wenn die beiden NumPy-Arrays dieselben Werte, aber an unterschiedlichen Positionen haben:

 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

Beispiel 2: Testen Sie, ob zwei NumPy-Arrays auf Elementebene gleich sind (innerhalb der Toleranz).

Der folgende Code zeigt, wie Sie mit der Funktion allclose() testen, ob zwei NumPy-Arrays auf Elementebene innerhalb eines Toleranzwerts von 2 gleich sind:

 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

Die Funktion gibt „True“ zurück, da die übereinstimmenden Elemente zwischen den einzelnen NumPy-Arrays alle innerhalb von 2 voneinander liegen.

Wir sehen beispielsweise, dass die Elemente an der dritten und vierten Position jedes Arrays unterschiedlich sind, aber da jedes Paar zwei Werte voneinander entfernt ist, gibt die Funktion „true“ zurück.

Wenn wir jedoch das Argument der absoluten Toleranz (atol) auf 1 ändern, gibt die Funktion False zurück:

 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

Die Funktion gibt False zurück, da die entsprechenden Elemente an der dritten Position jedes NumPy-Arrays nicht 1s voneinander entfernt sind.

Hinweis : Eine vollständige Erläuterung der Funktionen array_equal und allclose finden Sie in der NumPy-Dokumentation.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in NumPy ausführen:

So verschieben Sie Elemente in einem NumPy-Array
So zählen Sie Elementvorkommen in NumPy
So berechnen Sie den Modus des NumPy-Arrays

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert