Numpy conta verdadeiro

Numpy conta verdadeiro

Problema

Temos uma matriz contendo elementos booleanos. O objetivo é determinar quantos desses elementos na matriz são verdadeiros.

Solução 1

A abordagem ingênua criaria um contador de soma e um loop que itera sobre cada elemento na matriz. Verificamos então se esse elemento é verdadeiro e, se sim, adicionamos ao balcão.

Após a conclusão, obtemos o valor da variável da soma, o número de elementos verdadeiros na matriz.

Solução 2

Podemos abordar de forma inteligente o problema, pois não estamos olhando para a abordagem ingênua.

Sabemos que Python trata um valor falso como 0 e qualquer outro valor como verdadeiro. Portanto, se for esse o caso, podemos usar a função Numpy count_nonZero () para resolver o problema.

A função Numpy count_nonZero () nos permite calcular todos os valores diferentes de zero em uma determinada matriz. Ou, devo dizer, isso nos permitirá contar o número de valores verdadeiros em uma matriz.

A sintaxe da função é como mostrado:

1
Numpy.count_nonZero (a, eixo = nenhum, *, keepDims = false)

Exemplo 1

Considere o exemplo abaixo que usa a função count_nonZero () para determinar o número de elementos diferentes de zero na matriz.

arr = [1,2,0,3,4,0,5,6,7]
Imprimir (“diferente de zero”, NP.count_nonZero (arr))

O código acima deve determinar o número de valores diferentes de zero e imprimir o resultado como mostrado:

1
diferente de zero 7

Exemplo 2

O mesmo caso se aplica aos valores booleanos, como mostrado na matriz abaixo:

1
2
arr = [[verdadeiro, falso, verdadeiro], [verdadeiro, falso, falso]]
print ("diferente de zero", np.count_nonZero (arr))

O resultado da saída é como mostrado:

1
diferente de zero 3

E com isso, resolvemos nosso problema inicial.

Conclusão

Obrigado por acompanhar este tutorial, onde abordamos como usar a função count_nonZero () para determinar o número de elementos verdadeiros em uma matriz.

Codificação feliz!!