tutorial que multiplicar matrices funcion espaƱol crear array arange python numpy

python - que - Prueba si la matriz numpy contiene solo ceros



python matrices tutorial (4)

Inicializamos una matriz numpy con ceros como abajo:

np.zeros((N,N+1))

Pero, ¿cómo verificamos si todos los elementos en una matriz n * n numpy array dada son cero?
El método solo necesita devolver un valor True si todos los valores son de hecho cero.


Las otras respuestas publicadas aquí funcionarán, pero la función más clara y eficiente para usar es numpy.any() :

>>> all_zeros = not np.any(a)

o

>>> all_zeros = not a.any()

  • Esto se prefiere sobre numpy.all(a==0) porque usa menos RAM. (No requiere la matriz temporal creada por el término a a==0 ).
  • Además, es más rápido que numpy.count_nonzero(a) porque puede regresar inmediatamente cuando se ha encontrado el primer elemento distinto de cero.

Mira numpy.count_nonzero .

>>> np.count_nonzero(np.eye(4)) 4 >>> np.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]]) 5


Si está probando todos los ceros para evitar una advertencia en otra función numpy y luego ajusta la línea en una prueba, excepto el bloque, ahorrará tener que hacer la prueba de ceros antes de la operación que le interesa, es decir,

try: # removes output noise for empty slice mean = np.mean(array) except: mean = 0


Usaría np.all aquí, si tienes una matriz a:

>>> np.all(a==0)