title: Order of elements in a numpy array
body: <p>I have a 2-d array of shape(nx3), say arr1. Now consider a second array, arr2, of same shape as arr1 and has the same rows. However, the rows are not in the same order. I want to get the indices of each row in arr2 as they are in arr1. I am looking for fastest Pythonic way to do this as n is of the order of 10,000.</p>
  
  <p>For example:</p>
  
  <pre><code>arr1 = numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
  arr2 = numpy.array([[4, 5, 6], [7, 8, 9], [1, 2, 3]])
  ind = [1, 2, 0]
  </code></pre>
  
  <p>Note that the row elements need not be integers. In fact they are floats.
  I have found related answers that use numpy.searchsorted but they work for 1-D arrays only.</p>