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