Numpy NP.Allclose

Numpy NP.Allclose
Numpy allclose () -funksjonen bestemmer om to matriser er like med en toleranse på element-for-element-basis.

Denne opplæringen vil utforske allclose () -funksjonssyntaksen og gi flere praktiske eksempler som viser hvordan du bruker den.

Numpy allclose () funksjon

AllClose () -funksjonen vil sammenligne de tilsvarende elementene i inngangsarrayene og bestemme om de er like (med toleranse).

En toleranseverdi er alltid positiv, typisk i lite antall. For å beregne den absolutte forskjellen mellom de to inngangsarraysene, legger Numpy til de relative og absolutte forskjellene.

Den relative forskjellen er produktet av RTOL og ABS (B), der B er den andre inngangsarrayen.

Funksjonssyntaks

Dette er avbildet i funksjonssyntaks vist nedenfor:

numpy.AllClose (A, B, Rtol = 1E-05, ATOL = 1E-08, Equal_nan = FALSE)

La oss utforske funksjonsparametrene.

Funksjonsparametere

  1. A - Den første inngangsarrayen.
  2. B - Den andre inngangsarrayen.
  3. RTOL - Definerer den relative toleransen.
  4. ATOL - definerer absolutt toleranse.
  5. Equal_nan - Angir om du vil sammenligne NAN som lik eller ikke. Hvis den er satt til sann, vil funksjonen behandle en NAN i den første matrisen som tilsvarer en NAN i den andre matrisen.

Funksjonsretur

Funksjonen returnerer en boolsk verdi. Hvis de spesifiserte matriser er like innenfor den definerte toleranseverdien, returnerer funksjonen sann. Ellers vil funksjonen komme tilbake falsk.

Eksempel 1

Tenk på eksemplet nedenfor som viser hvordan du bruker allclose () -funksjonen i en 1D -matrise.

# Importer numpy
Importer numpy som NP
# Første matrise
arr_1 = np.Array ([1E5,1E-5])
# andre matrise
arr_2 = np.Array ([1.001E10, 1.002E-12])
trykk (f "like?: np.allclose (arr_1, arr_2) ")

Vi lager to 1-D-matriser i eksemplet over og sammenligner dem ved hjelp av allclose () -funksjonen.

Merk: Vi setter ikke de absolutte og relative toleranseverdiene i eksemplet ovenfor. Funksjonen skal returnere:

Lik?: Falsk

Eksempel #2TO Sett toleranseverdier, vi kan bruke eksemplet nedenfor:

# Første matrise
arr_1 = np.Array ([1E5,1E-5])
# andre matrise
arr_2 = np.Array ([1.001E10, 1.002E-12])
# Toleranseverdier
RTOL = 1E10
ATOL = 1E12
trykk (f "like?: np.AllClose (ARR_1, ARR_2, RTOL = RTOL, ATOL = ATOL) ")

I eksemplet over setter vi de relative og absolutte toleranseverdiene ved bruk av RTOL- og ATOL -parametrene.

Merk: Eksemplets toleranseverdier er finjustert for illustrasjonsformål.

Koden nedenfor skal returnere:

Lik?: Sant

Eksempel nr. 3

I eksemplet nedenfor bruker vi AllClose () -funksjonen for å teste likhet med matriser som inkluderer NAN -verdier.

ARR1 = NP.Array ([1.0e10, np.nan])
arr2 = np.Array ([1.0e10, np.nan])
trykk (f "like?: np.AllClose (arr1, arr2) ")

I eksemplet over har vi to matriser som virker like. Imidlertid, når vi bruker allclose () -funksjonen, returnerer den falsk som vist:

Lik?: Falsk

Dette er fordi matriser inneholder NAN -verdier. Som standard vil allclose () -funksjonen behandle NAN -verdier annerledes.

For å løse dette kan vi sette Equal_nan -parameteren til True som vist:

ARR1 = NP.Array ([1.0e10, np.nan])
arr2 = np.Array ([1.0e10, np.nan])
trykk (f "like?: np.AllClose (arr1, arr2, equal_nan = true) ")

I dette tilfellet skal funksjonen returnere:

Lik?: Sant

Avslutte

Denne artikkelen diskuterte hvordan du bruker allclose () -funksjonen i Numpy. Vi demonstrerte også hvordan vi bruker funksjonen med forskjellige eksempler.

Glad koding!!!