np.ogrid
The way it is different than np.mgrid is that it does not include all the elements required for the grid. It returns 1D arrays and rest of the things lie on the numpy broadcasting.
This is called as open mesh grid.
x, y = np.ogrid[0:5, 15:20]
x, y
(array([[0],
[1],
[2],
[3],
[4]]),
array([[15, 16, 17, 18, 19]]))
It is memory efficient and performant than meshgrid and np.mgrid because it only uses 1D arrays.