Упрощенная версия состоит в том, чтобы использовать, где получить строки и столбцы, а затем транспонировать, если хотите.
a = np.array([[0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 0, 0],
[0, 1, 1, 1, 0, 0],
[0, 1, 1, 0, 0, 1],
[0, 0, 0, 0, 0, 0]])
np.where(a == 1)
(array([1, 1, 1, 2, 2, 2, 3, 3, 3], dtype=int64),
array([1, 2, 3, 1, 2, 3, 1, 2, 5], dtype=int64))
np.array(np.where(a == 1)).T
Out[5]:
array([[1, 1],
[1, 2],
[1, 3],
[2, 1],
[2, 2],
[2, 3],
[3, 1],
[3, 2],
[3, 5]], dtype=int64)