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!!