91 votes

Compter toutes les valeurs d'une matrice inférieures à une valeur.

Je dois compter toutes les valeurs d'une matrice (tableau à deux dimensions) qui sont inférieures à 200.

Le code que j'ai écrit pour cela est :

za=0   
p31 = numpy.asarray(o31)   
for i in range(o31.size[0]):   
    for j in range(o32.size[1]):   
        if p31[i,j]<200:   
            za=za+1   
print za

o31 est une image et je la convertis en une matrice, puis je trouve les valeurs.

Existe-t-il un moyen plus simple de procéder ?

1voto

André Anjos Points 699

Vous pouvez utiliser numpy.count_nonzero en transformant l'ensemble en une seule phrase :

za = numpy.count_nonzero(numpy.asarray(o31)<200)  #as written in the code

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X