Grundlagen von Numpy Where Funktion, was macht es mit dem Array?

Ich habe den Beitrag gesehenUnterschied zwischen ungleich Null (a), wobei (a) und Argument (a). Wann welche verwenden? und ich verstehe die Verwendung der where-Funktion vom numpy-Modul nicht wirklich.

Zum Beispiel habe ich diesen Code

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)

Welches gibt:

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

Die Definition der where-Funktion lautet: Rückgabe von Elementen, entweder von x oder von y, abhängig von der Bedingung. Aber es macht auch für mich keinen Sinn

Was bedeutet die Ausgabe genau?