I have a dataframe which contains values across 4 columns: 

For example:`ID`,`price`,`click count`,`rating`

What I would like to do is to "split" this dataframe into N different groups where each group will have equal number of rows with same distribution of price, click count and ratings attributes. 

Any advice is strongly appreciated, as I don't have the slightest idea on how to tackle this !