Можно ли преобразовать X как показано ниже, выполнив один раз оператор reshape? Нужно первый array, возвращаемый mgrid, вытянуть в один столбец, и со вторым проделать тоже, получив в результате матрицу из двух столбцов.
>>> X=mgrid[0:3,0:3]
>>> X
array([[[0, 0, 0],
[1, 1, 1],
[2, 2, 2]],
[[0, 1, 2],
[0, 1, 2],
[0, 1, 2]]])
>>> X=c_[ X[0].reshape(-1,1), X[1].reshape(-1,) ]
>>> X
array([[0, 0],
[0, 1],
[0, 2],
[1, 0],
[1, 1],
[1, 2],
[2, 0],
[2, 1],
[2, 2]])