Numpy NP.Allloses

Numpy NP.Allloses
Die Funktion numpy AllClose () bestimmt, ob zwei Arrays mit einer Toleranz von Element-by-Element-Basis gleich sind.

In diesem Tutorial wird die Funktion Syntax von AllClose () untersucht und mehrere praktische Beispiele geben, die zeigen, wie man sie verwendet.

Numpy AllClose () -Funktion

Die Funktion von AllClose () vergleicht die entsprechenden Elemente in den Eingangsarrays und bestimmen, ob sie gleich sind (mit Toleranz).

Ein Toleranzwert ist immer positiv, typischerweise in kleinen Zahlen. Um die absolute Differenz zwischen den beiden Eingangsarrays zu berechnen, fügt Numpy die relativen und absoluten Unterschiede hinzu.

Der relative Unterschied ist das Produkt von RTOL und ABS (B), wobei B das zweite Eingangsarray ist.

Funktionssyntax

Dies wird in der unten gezeigten Funktionssyntax dargestellt:

Numpy.AllClose (A, B, RTOL = 1E-05, ATOL = 1E-08, Equal_nan = False)

Lassen Sie uns die Funktionsparameter untersuchen.

Funktionsparameter

  1. A - Das erste Eingangsarray.
  2. B - das zweite Eingangsarray.
  3. RTOL - definiert die relative Toleranz.
  4. Atol - definiert absolute Toleranz.
  5. Equal_nan - Gibt an, ob NAN als gleich vergleichen soll oder nicht. Wenn auf True gesetzt, behandelt die Funktion eine Nan im ersten Array als gleichwertig zu einer Nan im zweiten Array.

Funktionsrückgabewert

Die Funktion gibt einen Booleschen Wert zurück. Wenn die angegebenen Arrays innerhalb des definierten Toleranzwerts gleich sind, gibt die Funktion true zurück. Andernfalls gibt die Funktion false zurück.

Beispiel 1

Betrachten Sie das folgende Beispiel unten, in dem angezeigt wird.

# Numpy importieren
Numph als NP importieren
# Erstes Array
arr_1 = np.Array ([1E5,1E-5])
# Zweites Array
arr_2 = np.Array ([1.001e10, 1.002E-12])
drucken (f "gleich?: np.AllClose (arr_1, arr_2) ")

Wir erstellen im obigen Beispiel zwei 1-D-Arrays und vergleichen sie mit der Funktion AllClose ().

Hinweis: Wir setzen die absoluten und relativen Toleranzwerte im obigen Beispiel nicht fest. Die Funktion sollte zurückkehren:

Gleich?: FALSCH

Beispiel #2to Set Toleranzwerte, wir können das folgende Beispiel verwenden:

# Erstes Array
arr_1 = np.Array ([1E5,1E-5])
# Zweites Array
arr_2 = np.Array ([1.001e10, 1.002E-12])
# Toleranzwerte
RTOL = 1E10
ATOL = 1E12
drucken (f "gleich?: np.AllClose (arr_1, arr_2, rtol = rtol, atol = atol) ")

Im obigen Beispiel setzen wir die relativen und absoluten Toleranzwerte unter Verwendung der RTOL- und ATOL -Parameter fest.

Hinweis: Die Toleranzwerte des obigen Beispiels wurden zu Illustrationszwecken optimiert.

Der folgende Code sollte zurückgeben:

Gleich?: WAHR

Beispiel #3

Im folgenden Beispiel verwenden wir die Funktion allose (), um die Gleichheit mit Arrays zu testen, die NAN -Werte enthalten.

arr1 = np.Array ([1.0e10, np.Nan]))
arr2 = np.Array ([1.0e10, np.Nan]))
drucken (f "gleich?: np.AllClose (arr1, arr2) ")

Im obigen Beispiel haben wir zwei Arrays, die gleich erscheinen. Wenn wir jedoch die Funktion von AllClose () verwenden, gibt es False wie gezeigt zurück:

Gleich?: FALSCH

Dies liegt daran, dass die Arrays NAN -Werte enthalten. Standardmäßig behandelt die Funktion von AllClose () die NAN -Werte unterschiedlich.

Um dies zu lösen, können wir den Parameter Equal_nan wie gezeigt auf True einstellen:

arr1 = np.Array ([1.0e10, np.Nan]))
arr2 = np.Array ([1.0e10, np.Nan]))
drucken (f "gleich?: np.AllClose (arr1, arr2, Equal_nan = true) ")

In diesem Fall sollte die Funktion zurückkehren:

Gleich?: WAHR

Enden

In diesem Artikel wurde erläutert, wie die Funktion der AllClose () in Numpy verwendet wird. Wir haben auch gezeigt, wie die Funktion mit verschiedenen Beispielen verwendet wird.

Glückliche Codierung!!!