title: Sorting np.array x with evaluating function
body: <p>I have this 2D numpy array which looks like this:</p>
  <pre><code>[[ 7.13617384e+00  3.93455820e+00  8.34862014e+00  1.42756162e+03]
   [ 2.93579791e+00  4.83915611e+00 -3.41362211e-01  1.71145016e+03]
  ...
   [ 9.58016886e+00  2.96627154e+00 -1.43432831e+00  2.44785312e+03]
   [-1.32142476e+00  9.51850265e+00  1.77833164e+01  1.66931544e+03]]
  </code></pre>
  <p>There is an evaluate function that takes the 4 values per array and gives it a value, the lower the better. Now I want to sort the original array based on the lowest values that the evaluation function generates. The code looks something like this:</p>
  <pre><code>x = np.random.uniform(low=bounds_min, high=bounds_max, size=(pop_size, 4))
  f = ea.evaluate(x)
  sorted_f = np.sort(f)
  
  np.argsort(x, order(sorted_f)
  </code></pre>