Numpy NP.hvor flere forhold

Numpy NP.hvor flere forhold
I denne opplæringen lærer du de forskjellige metodene du kan bruke til å spesifisere flere forhold ved hjelp av NP.hvor () funksjon.

Metode 1 - Numpy.hvor () flere forhold ved bruk av og operatøren

Where () -funksjonen i Numpy lar oss velge elementer fra en gitt matrise som samsvarer med en gitt tilstand. Som standard godtar funksjonen en enkelt tilstand for å matche mot den gitte rekke elementer. Hva om vi trenger å se etter flere forhold i en gitt matrise? For det formålet kan vi bruke Pythons logiske operatører for å oppnå det. En slik operatør er & (og) operatøren. Det lar oss spesifisere flere betingelser i hvor funksjonen og legge til og bli med dem med & operatøren. Funksjonen vil ta alle de spesifiserte forholdene og returnere elementene som samsvarer med alle forholdene.

Vi kan illustrere dette med et eksempel som vist nedenfor:

Importer numpy som NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [np.hvor ((arr> 300) og (arr<500))]
trykk (new_arr)

I programmet over starter vi med å lage en matrise som holder et sett med heltall. Vi oppretter deretter en ny matrise og bruker hvor funksjonen skal filtrere for flere forhold. Hvis noe element i matrisen er større enn 300 og mindre enn 500, kan du legge den til den nye matrisen. Til slutt skriver vi ut den resulterende matrisen:

Å bruke & operatøren sikrer at begge forholdene er sanne.

Metode 2 - Numpy.hvor () flere forhold ved bruk av OR -operatøren

I noen tilfeller vil du kanskje bare at bare en av de flere forholdene skal være sanne. For det kan vi bruke OR -operatøren. Dette forteller hvor funksjonen for å evaluere alle forholdene som er gitt, og hvis noe element i den gitte matrisen samsvarer med en av dem, kan du legge den til resultatet.

Ta eksemplets resultat vist nedenfor:

Importer numpy som NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [np.hvor ((arr> 300) | (arr == 500))]
trykk (new_arr)

I eksemplet over bruker vi | Operatør for å spesifisere flere betingelser og lagre de resulterende verdiene i New_arr -variabelen. Hvis noe element i inngangsarrayen er større enn eller lik 500, kan du legge den til den nye matrisen.

Den resulterende utgangen:

Vi kan se at alle de returnerte elementene er større enn 300.

Metode 3 - Numpy.hvor () flere forhold med numpy.logical_and () funksjon

Hvis du ikke ønsker å bruke Pythons logiske operatører, har Numpy en logical_and () -funksjon som kan erstatte & operatøren.

Funksjonen brukes til å bestemme den elementsmessige sannheten om en verdi av en og port. La oss se hvordan vi kan ta i bruk denne funksjonen for å spesifisere flere forhold i en numpy hvor () -funksjonen.

Importer numpy som NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [np.hvor (np.logical_and (arr> 300, arr<400))]
trykk (new_arr)

I koden over begynner vi med å definere en rekke heltall hvis elementer vi ønsker å filtrere.

Vi bruker da NP.hvor () funksjon og passere forholdene vi ønsker å evaluere. I dette tilfellet passerer vi dem som argumenter fra NP.logical_and funksjon.

Funksjonen evaluerer forholdene og filtrene elementene som samsvarer med de spesifiserte verdiene.

Et eksempelutgang er som vist:

Fra utgangen samsvarer bare to elementer som samsvarer med de spesifiserte forholdene.

Metode 4 - Numpy.hvor () flere forhold med numpy.logical_or () funksjon

Tilsvarende har Numpy en funksjon som utfører den samme oppgaven som Pythons logiske eller. Numpy.logical_or () -funksjonen brukes til å beregne den elementsmessige sanne verdien av en eller port.

For vår sak kan vi spesifisere flere betingelser og gi dem til NP.hvor () funksjon.

Et eksempelkode er som vist nedenfor:

Importer numpy som NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [np.hvor (np.logical_or (arr> 300, arr%2 == 0))]
trykk (new_arr)

Her skal funksjonen returnere alle elementene som enten er større enn 300 eller de som til og med nummererer.

De resulterende verdiene er:

Det fungerer.

Lukking

Det er det for denne. I denne opplæringen lærte du hvordan du spesifiserer flere forhold i Numpy hvor () -funksjonen ved bruk av den logiske eller logiske og, numpys logical_and -funksjon, og Numpys logical_or -funksjon.