Numpy NP.AllClose

Numpy NP.AllClose
A função Numpy AllClose () determina se duas matrizes são iguais a uma tolerância em elemento a elemento.

Este tutorial explorará a sintaxe da função allClose () e fornecerá vários exemplos práticos demonstrando como usá -la.

Função allClose () numpy

A função AllClose () comparará os elementos correspondentes nas matrizes de entrada e determinará se são iguais (com tolerância).

Um valor de tolerância é sempre positivo, normalmente em pequenos números. Para calcular a diferença absoluta entre as duas matrizes de entrada, Numpy adiciona as diferenças relativas e absolutas.

A diferença relativa é o produto do RTOL e ABS (B), onde B é a segunda matriz de entrada.

Função Sintaxe

Isso é retratado na sintaxe da função mostrada abaixo:

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

Vamos explorar os parâmetros de função.

Parâmetros de função

  1. a - a primeira matriz de entrada.
  2. B - A segunda matriz de entrada.
  3. rtol - define a tolerância relativa.
  4. ATOL - define tolerância absoluta.
  5. igual_nan - especifica se deve ou não comparar nan como igual. Se definido como true, a função tratará uma nan na primeira matriz como equivalente a uma nan na segunda matriz.

Valor de retorno da função

A função retorna um valor booleano. Se as matrizes especificadas forem iguais dentro do valor de tolerância definido, a função retornará true. Caso contrário, a função retornará falsa.

Exemplo 1

Considere o exemplo abaixo que mostra como usar a função allClose () em uma matriz 1D.

# importar numpy
importar numpy como np
# Primeira matriz
arr_1 = np.Array ([1e5,1e-5])
# Segunda matriz
arr_2 = np.Array ([1.001E10, 1.002E-12])
impressão (f "igual?: np.AllClose (ARR_1, ARR_2) ")

Criamos duas matrizes 1-D no exemplo acima e as comparamos usando a função allClose ().

Nota: Não definimos os valores de tolerância absoluta e relativa no exemplo acima. A função deve retornar:

Igual?: False

Exemplo #2 para definir valores de tolerância, podemos usar o exemplo abaixo:

# Primeira matriz
arr_1 = np.Array ([1e5,1e-5])
# Segunda matriz
arr_2 = np.Array ([1.001E10, 1.002E-12])
# valores de tolerância
rtol = 1e10
atol = 1e12
impressão (f "igual?: np.allClose (arr_1, arr_2, rtol = rtol, atol = atol) ")

No exemplo acima, definimos os valores de tolerância relativa e absoluta usando os parâmetros RTOL e ATOL.

Nota: Os valores de tolerância do exemplo acima foram ajustados para fins de ilustração.

O código abaixo deve retornar:

Igual?: Verdadeiro

Exemplo #3

No exemplo abaixo, usamos a função allClose () para testar a igualdade com as matrizes que incluem valores de nan.

arr1 = np.Array ([1.0E10, NP.nan])
arr2 = np.Array ([1.0E10, NP.nan])
impressão (f "igual?: np.AllClose (ARR1, ARR2) ")

No exemplo acima, temos duas matrizes que parecem iguais. No entanto, quando usamos a função AllClose (), ele retorna false como mostrado:

Igual?: False

Isso ocorre porque as matrizes contêm valores de nan. Por padrão, a função AllClose () tratará os valores da NAN de maneira diferente.

Para resolver isso, podemos definir o parâmetro igual_nan como true como mostrado:

arr1 = np.Array ([1.0E10, NP.nan])
arr2 = np.Array ([1.0E10, NP.nan])
impressão (f "igual?: np.allClose (arr1, arr2, igual_nan = true) ")

Nesse caso, a função deve retornar:

Igual?: Verdadeiro

Terminando

Este artigo discutiu como usar a função AllClose () em Numpy. Também demonstramos como usar a função com vários exemplos.

Codificação feliz!!!