Conceptos básicos de numpy donde funciona, ¿qué le hace a la matriz?

He visto el postDiferencia entre distinto de cero (a), donde (a) y argwhere (a). ¿Cuándo usar cuál? y realmente no entiendo el uso de la función where desde el módulo numpy.

Por ejemplo tengo este código

import numpy as np

Z =np.array( 
    [[1,0,1,1,0,0],
     [0,0,0,1,0,0],
     [0,1,0,1,0,0],
     [0,0,1,1,0,0],
     [0,1,0,0,0,0],
     [0,0,0,0,0,0]])
print Z
print np.where(Z)

Lo que da:

(array([0, 0, 0, 1, 2, 2, 3, 3, 4], dtype=int64), 
 array([0, 2, 3, 3, 1, 3, 2, 3, 1], dtype=int64))

La definición de donde función es: Devuelve elementos, ya sea de xo y, según la condición. Pero tampoco tiene sentido para mí.

Entonces, ¿qué significa exactamente la salida?

Respuestas a la pregunta(1)

Su respuesta a la pregunta