Numpy count sant

Numpy count sant

Problem

Vi har en matrise som inneholder boolske elementer. Målet er å bestemme hvor mange av disse elementene i matrisen som er sanne.

Løsning 1

Den naive tilnærmingen ville skape en sumeller og en for sløyfe som itererer over hvert element i matrisen. Vi sjekker deretter om det elementet er sant, og om ja, vi legger det til i disken.

Etter ferdigstillelse får vi sumvariabelenes verdi, antall sanne elementer i matrisen.

Løsning 2

Vi kan intelligent nærme oss problemet siden vi ikke ser på den naive tilnærmingen.

Vi vet at Python behandler en falsk verdi som 0 og enhver annen verdi som sann. Så hvis det er tilfelle, kan vi bruke Numpy Count_Nonzero () -funksjonen for å løse problemet.

Numpy count_nonzero () -funksjonen lar oss beregne alle ikke-nullverdiene i en gitt matrise. Eller, skal jeg si, det vil gjøre det mulig for oss å telle antall sanne verdier i en matrise.

Funksjonssyntaksen er som vist:

1
numpy.count_nonzero (a, akse = ingen, *, keepdims = falsk)

Eksempel 1

Tenk på eksemplet nedenfor som bruker count_nonzero () -funksjonen for å bestemme antall ikke-null elementer i matrisen.

arr = [1,2,0,3,4,0,5,6,7]
trykk (“Ikke-null”, NP.count_nonzero (arr))

Koden over skal bestemme antallet ikke-nullverdier og skrive ut resultatet som vist:

1
Ikke-null 7

Eksempel 2

Det samme tilfellet gjelder boolske verdier som vist i matrisen nedenfor:

1
2
arr = [[sann, falsk, sann], [sann, falsk, falsk]]
trykk ("ikke-null", np.count_nonzero (arr))

Utgangsresultatet er som vist:

1
Ikke-null 3

Og med det har vi løst vårt første problem.

Konklusjon

Takk for at du fulgte med denne opplæringen der vi dekket hvordan du bruker Count_nonzero () -funksjonen for å bestemme antall sanne elementer i en matrise.

Glad koding!!