Numpy Count True

Numpy Count True

Problema

Tenemos una matriz que contiene elementos booleanos. El objetivo es determinar cuántos de esos elementos en la matriz son verdaderos.

Solución 1

El enfoque ingenuo crearía un contador de suma y un bucle para que itera sobre cada elemento en la matriz. Luego verificamos si ese elemento es verdadero y, en caso afirmativo, lo agregamos al mostrador.

Después de la finalización, obtenemos el valor de la variable de suma, el número de elementos verdaderos en la matriz.

Solución 2

Podemos abordar de manera inteligente el problema ya que no estamos mirando el enfoque ingenuo.

Sabemos que Python trata un valor falso como 0 y cualquier otro valor como verdadero. Entonces, si ese es el caso, podemos usar la función numpy count_nonzero () para resolver el problema.

La función numpy count_nonzero () nos permite calcular todos los valores distintos de cero en una matriz determinada. O, debo decir, nos permitirá contar el número de valores verdaderos en una matriz.

La sintaxis de la función es como se muestra:

1
numpy.count_nonzero (a, axis = none, *, keepdims = false)

Ejemplo 1

Considere el siguiente ejemplo que usa la función count_nonzero () para determinar el número de elementos distintos de cero en la matriz.

arr = [1,2,0,3,4,0,5,6,7]
Imprimir ("No cero", NP.count_nonzero (arr))

El código anterior debe determinar el número de valores distintos de cero e imprimir el resultado como se muestra:

1
distinta de cero 7

Ejemplo 2

El mismo caso se aplica a los valores booleanos como se muestra en la matriz a continuación:

1
2
arr = [[true, falso, true], [verdadero, falso, falso]]
Imprimir ("No cero", NP.count_nonzero (arr))

El resultado de salida es como se muestra:

1
distinto de cero 3

Y con eso, hemos resuelto nuestro problema inicial.

Conclusión

Gracias por seguir junto con este tutorial donde cubrimos cómo usar la función count_nonzero () para determinar el número de elementos verdaderos en una matriz.

Codificación feliz!!