Numpy conta vero

Numpy conta vero

Problema

Abbiamo un array contenente elementi booleani. L'obiettivo è determinare quanti di questi elementi nell'array sono veri.

Soluzione 1

L'approccio ingenuo creerebbe un contatore di somma e un ciclo che itera su ciascun elemento nell'array. Verifichiamo quindi se quell'elemento è vero e se sì, lo aggiungiamo al contatore.

Dopo il completamento, otteniamo il valore della variabile di somma, il numero di elementi veri nell'array.

Soluzione 2

Possiamo affrontare in modo intelligente il problema poiché non stiamo guardando l'approccio ingenuo.

Sappiamo che Python tratta un falso valore come 0 e qualsiasi altro valore come vero. Quindi, se è così, possiamo usare la funzione numpy count_nonzero () per risolvere il problema.

La funzione Numpy Count_nonzero () ci consente di calcolare tutti i valori diversi da zero in un determinato array. Oppure, devo dire, ci consentirà di contare il numero di valori reali in un array.

La sintassi della funzione è come mostrata:

1
numpy.count_nonzero (a, axis = nessuno, *, keepDims = false)

Esempio 1

Considera l'esempio seguente che utilizza la funzione Count_nonzero () per determinare il numero di elementi diversi da zero nell'array.

ARR = [1,2,0,3,4,0,5,6,7]
Stampa ("diverso da zero", NP.count_nonzero (arr))

Il codice sopra dovrebbe determinare il numero dei valori diversi da zero e stampare il risultato come mostrato:

1
diverso da zero 7

Esempio 2

Lo stesso caso si applica ai valori booleani come mostrato nell'array seguente:

1
2
arr = [[true, false, true], [true, false, false]]
Stampa ("diverso da zero", NP.count_nonzero (arr))

Il risultato di output è come mostrato:

1
diverso da zero 3

E con ciò, abbiamo risolto il nostro problema iniziale.

Conclusione

Grazie per aver seguito insieme a questo tutorial in cui abbiamo coperto come utilizzare la funzione Count_nonzero () per determinare il numero di elementi veri in un array.

Codice felice!!