Numpy np.all close

Numpy np.all close
La funzione Numpy AllClose () determina se due array sono uguali con una tolleranza su base elemento per elemento.

Questo tutorial esplorerà la sintassi della funzione AllClose () e fornirà diversi esempi pratici che dimostrano come usarla.

Funzione numpy allclose ()

La funzione AllClose () confronterà gli elementi corrispondenti negli array di input e determinerà se sono uguali (con tolleranza).

Un valore di tolleranza è sempre positivo, in genere in piccoli numeri. Per calcolare la differenza assoluta tra i due array di input, Numpy aggiunge le differenze relative e assolute.

La differenza relativa è il prodotto di RTOL e ABS (B), dove B è il secondo array di input.

Sintassi della funzione

Questo è illustrato nella sintassi della funzione mostrata di seguito:

numpy.AllClose (a, b, rtol = 1e-05, atol = 1e-08, egual_nan = false)

Esploriamo i parametri della funzione.

Parametri della funzione

  1. A - Il primo array di input.
  2. B - Il secondo array di input.
  3. RTOL - definisce la tolleranza relativa.
  4. atol - definisce la tolleranza assoluta.
  5. uguale_nan - specifica se confrontare o meno NAN come uguale. Se impostato su True, la funzione tratterà un NAN nel primo array come equivalente a un NAN nel secondo array.

Valore di ritorno della funzione

La funzione restituisce un valore booleano. Se gli array specificati sono uguali all'interno del valore di tolleranza definito, la funzione restituisce vera. Altrimenti, la funzione restituirà false.

Esempio 1

Considera l'esempio seguente che mostra come utilizzare la funzione AllClose () in un array 1D.

# Importa Numpy
Importa Numpy come NP
# primo array
arr_1 = np.array ([1e5,1e-5])
# Secondo array
arr_2 = np.array ([1.001e10, 1.002E-12])
stampa (f "uguale?: np.AllClose (arr_1, arr_2) ")

Creiamo due array 1-D nell'esempio sopra e li confrontiamo usando la funzione AllClose ().

Nota: non impostiamo i valori di tolleranza assoluti e relativi nell'esempio sopra. La funzione dovrebbe restituire:

Pari?: Falso

Esempio #2to Imposta valori di tolleranza, possiamo usare l'esempio seguente:

# primo array
arr_1 = np.array ([1e5,1e-5])
# Secondo array
arr_2 = np.array ([1.001e10, 1.002E-12])
# valori di tolleranza
rtol = 1e10
atol = 1e12
stampa (f "uguale?: np.AllClose (arr_1, arr_2, rtol = rtol, atol = atol) ")

Nell'esempio sopra, impostiamo i valori di tolleranza relativa e assoluta usando i parametri RTOL e ATOL.

Nota: i valori di tolleranza dell'esempio sopra sono stati ottimizzati per scopi di illustrazione.

Il codice seguente dovrebbe restituire:

Pari?: VERO

Esempio n. 3

Nell'esempio seguente, utilizziamo la funzione AllClose () per testare l'uguaglianza con array che includono valori NAN.

arr1 = np.array ([1.0e10, np.nan])
arr2 = np.array ([1.0e10, np.nan])
stampa (f "uguale?: np.AllClose (arr1, arr2) ")

Nell'esempio sopra, abbiamo due array che sembrano uguali. Tuttavia, quando utilizziamo la funzione AllClose (), restituisce falso come mostrato:

Pari?: Falso

Questo perché gli array contengono valori NAN. Per impostazione predefinita, la funzione AllClose () tratterà i valori NAN in modo diverso.

Per risolvere questo problema, possiamo impostare il parametro uguale_nan su true come mostrato:

arr1 = np.array ([1.0e10, np.nan])
arr2 = np.array ([1.0e10, np.nan])
stampa (f "uguale?: np.AllClose (arr1, arr2, egual_nan = true) ")

In questo caso, la funzione dovrebbe restituire:

Pari?: VERO

Terminato

Questo articolo ha discusso di come utilizzare la funzione AllClose () in Numpy. Abbiamo anche dimostrato come utilizzare la funzione con vari esempi.

Codice felice!!!