I have a grid point shapefile. I want to select N number of samples from those set of grid points.
I tried [pd.DataFrame.sample()][1] but as we know it selects samples randomly. Is there any way I can select samples across those grid points uniformly?

I am using geopandas to read the shapefile. Below is pictorial representation of the task.(Not necessarily 1 step skip, it can be any but it should be uniform)

Edit: I need to select points such that deviation of distance between two selected points is minimum to get a proper representation of whole area.

[![Grid points][2]][2]

[![Sampled points][3]][3]


  [1]: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sample.html
  [2]: https://i.sstatic.net/VqPZG.png
  [3]: https://i.sstatic.net/ouwQn.png