Понимание ненулевой функции NumPy

Я пытаюсь понять функцию numpy nonzero. Ниже приведен пример применения:

import numpy
arr = numpy.array([[1,0],[1,1]])
arr.nonzero()
--> (array([0, 1, 1]), array([0, 0, 1]))

Я вижу, что поскольку arr является двумерным, выход nonzero() представляет собой двучлен. Однако я не понимаю, почему количество индексов в каждом элементе кортежа превышает количество строк/столбцов массива. Я вижу, что

arr[arr.nonzero()]
--> array([1, 1, 1])

Но как...?

23
задан hatmatrix 28 October 2011 в 00:42
поделиться