Numpy NP.Allclose

Numpy NP.Allclose
Funkcja Numpy allcose () określa, czy dwie tablice są równe z tolerancją na podstawie elementu po elemencie.

Ten samouczek zbada składnię funkcji allclose () i poda kilka praktycznych przykładów pokazujących, jak go używać.

Funkcja Numpy Allclose ()

Funkcja allclose () porówna odpowiednie elementy w tablicach wejściowych i określi, czy są one równe (z tolerancją).

Wartość tolerancji jest zawsze pozytywna, zazwyczaj w małych liczbach. Aby obliczyć bezwzględną różnicę między dwiema tablicami wejściowymi, Numpy dodaje różnice względne i bezwzględne.

Względną różnicą jest iloczyn RTOL i ABS (B), gdzie B jest drugim układem wejściowym.

Składnia funkcji

Jest to przedstawione w składni funkcji pokazanej poniżej:

Numpy.allclose (A, B, RTOL = 1E-05, ATOL = 1E-08, równy_nan = false)

Zbadajmy parametry funkcji.

Parametry funkcji

  1. a - Pierwsza tablica wejściowa.
  2. B - Druga tablica wejściowa.
  3. RTOL - definiuje względną tolerancję.
  4. Atol - definiuje tolerancję absolutną.
  5. equal_nan - Określa, czy porównać NAN jako równe. Jeśli jest ustawiona na true, funkcja będzie traktować NAN w pierwszej tablicy jako równoważne z NAN w drugiej tablicy.

Funkcja zwraca wartość

Funkcja zwraca wartość logiczną. Jeśli określone tablice są równe w ramach określonej wartości tolerancji, funkcja zwraca true. W przeciwnym razie funkcja zwróci fałsz.

Przykład 1

Rozważ poniższy przykład, który pokazuje, jak korzystać z funkcji allclose () w tablicy 1D.

# Importuj Numpy
importować Numpy jako NP
# Pierwsza tablica
ARR_1 = NP.tablica ([1E5,1E-5])
# Druga tablica
ARR_2 = NP.tablica ([1.001e10, 1.002e-12])
wydrukować (f "równe?: np.allclose (arr_1, arr_2) ”)

Tworzymy dwie tablice 1-D w powyższym przykładzie i porównujemy je za pomocą funkcji allclose ().

Uwaga: nie ustawiamy wartości tolerancji bezwzględnej i względnej w powyższym przykładzie. Funkcja powinna zwrócić:

Równy?: FAŁSZ

Przykład nr 2to Ustaw wartości tolerancji, możemy użyć poniższego przykładu:

# Pierwsza tablica
ARR_1 = NP.tablica ([1E5,1E-5])
# Druga tablica
ARR_2 = NP.tablica ([1.001e10, 1.002e-12])
# Wartości tolerancji
RTOL = 1E10
Atol = 1E12
wydrukować (f "równe?: np.allclose (arr_1, arr_2, rTOL = rTOL, ATOL = ATOL) ”)

W powyższym przykładzie ustawiamy względne i bezwzględne wartości tolerancji za pomocą parametrów RTOL i ATOL.

Uwaga: Wartości tolerancji powyższego przykładu zostały dostosowane do celów ilustracyjnych.

Poniższy kod powinien zwrócić:

Równy?: PRAWDA

Przykład nr 3

W poniższym przykładzie używamy funkcji allclose () do testowania równości z tablicami zawierającymi wartości NAN.

arr1 = np.tablica ([1.0E10, NP.nan])
ARR2 = NP.tablica ([1.0E10, NP.nan])
wydrukować (f "równe?: np.allclose (ARR1, ARR2) ”)

W powyższym przykładzie mamy dwie tablice, które wydają się równe. Jednak gdy używamy funkcji allclose (), zwraca false, jak pokazano:

Równy?: FAŁSZ

Jest tak, ponieważ tablice zawierają wartości nan. Domyślnie funkcja allclose () będzie inaczej leczyć wartości NAN.

Aby to rozwiązać, możemy ustawić parametr równych_nan na true, jak pokazano:

arr1 = np.tablica ([1.0E10, NP.nan])
ARR2 = NP.tablica ([1.0E10, NP.nan])
wydrukować (f "równe?: np.allclose (arr1, arr2, równy_nan = true) ”)

W takim przypadku funkcja powinna zwrócić:

Równy?: PRAWDA

Zakończenie

W tym artykule omówiono, jak korzystać z funkcji allclose () w Numpy. Wykazaliśmy również, jak korzystać z tej funkcji z różnymi przykładami.

Szczęśliwe kodowanie!!!