title: sort and pick by column while keeping the original index in python
body: <p>Say that I have three columns with name 'a', 'b' and 'c'. All the values in the three columns have different range and are random.</p>
  
  <p>What I want to do is:</p>
  
  <ol>
  <li>Keep the row index.</li>
  <li>Pick column 'a'. Sort the values from the smallest to the biggest in column 'a'.</li>
  <li>Slice the sorted column 'a' into certain sections. For example, from smallest value to 1/3 of the biggest value, 1/3 to 2/3 and 2/3 to the biggest. That's three sections in total.</li>
  <li>Randomly pick three rows in each section.</li>
  <li>Exclude the original index of the rows that are picked so I won't pick the same rows again.</li>
  <li>Repeat 1. to 5. for column 'b' and 'c'.</li>
  </ol>
  
  <p>Are there easy ways to do so?</p>
  
  <p>Thanks!</p>