title: multi-dimensional indexing with numpy
body: <p>Say I have the following numpy arrays:</p>
  
  <pre><code>import numpy as np
  
  np.random.seed(100)
  
  fp = np.random.rand(4000, 5)
  ix = np.random.randint(0, 5, (3, 3))
  
  fp
  array([[ 0.54340494,  0.27836939,  0.42451759,  0.84477613,  0.00471886],
         [ 0.12156912,  0.67074908,  0.82585276,  0.13670659,  0.57509333],
         [ 0.89132195,  0.20920212,  0.18532822,  0.10837689,  0.21969749]])
  
  ix
  array([[3, 4, 4],
         [1, 3, 4],
         [4, 3, 3]])
  </code></pre>
  
  <p>I would like to extract the values from <code>fp</code> based on the values from <code>ix</code>, row by row. The expected resulting array from the above would be:</p>
  
  <pre><code>array([[ 0.84477613,  0.00471886,  0.00471886],
         [ 0.67074908,  0.13670659,  0.57509333],
         [ 0.21969749,  0.10837689,  0.10837689]])
  </code></pre>
  
  <p>Any help or hint is appreciated!</p>