title: Select elements from a numpy array based on values in another array that is not an index array
body: <p>Suppose I have the following two arrays:</p>
  
  <pre><code>a = array([(1, 'L', 74.423088306605), (5, 'H', 128.05441039929008),
         (2, 'L', 68.0581377353869), (0, 'H', 88.15726964130869), 
         (4, 'L', 97.4501582588212), (3, 'H', 92.98550136344437),
         (7, 'L', 87.75945631669309), (6, 'L', 90.43196739694255),
         (8, 'H', 111.13662092749307), (15, 'H', 91.44444608631304),
         (10, 'L', 85.43615908319185), (11, 'L', 78.11685661303494),
         (13, 'H', 108.2841293816308), (17, 'L', 74.43917911042259),
         (14, 'H', 64.41057325770373), (9, 'L', 27.407214746467943),
         (16, 'H', 81.50506434964355), (12, 'H', 97.79700070323196),
         (19, 'L', 51.139258140713025), (18, 'H', 118.34835768605957)], 
        dtype=[('id', '&lt;i4'), ('name', 'S1'), ('value', '&lt;f8')])
  
  b = array([ 0,  3,  5,  8, 12, 13, 14, 15, 16, 18], dtype=int32)
  </code></pre>
  
  <p>I want to select elements from <code>a</code> for which the <code>id</code> is given in <code>b</code>. That is, <code>b</code> is not an index array. It contains the <code>ids</code> of the observations. How can I do this in numpy?</p>
  
  <p>Thanks for the help.</p>