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 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