title: Selecting data from a dataframe based on a tuple
body: <p>Suppose I have the following dataframe</p>
  
  <pre><code>df = DataFrame({'vals': [1, 2, 3, 4], 
                 'ids': ['a', 'b', 'a', 'n']})
  </code></pre>
  
  <p>I want to select all the rows which are in the list</p>
  
  <pre><code>[ (1,a), (3,f) ]
  </code></pre>
  
  <p>I have tried using <a href="http://pandas.pydata.org/pandas-docs/dev/indexing.html#boolean-indexing" rel="nofollow">boolean indexing</a> like so</p>
  
  <pre><code>to_search = { 'vals' : [1,3],
            'ids'  : ['a', 'f']
            }
  
  df.isin(to_search)
  </code></pre>
  
  <p>I expect only the first row to match but I get the first and the third row</p>
  
  <pre><code>     ids   vals
  0   True   True
  1   True  False
  2   True   True
  3  False  False
  </code></pre>
  
  <p>Is there any way to match exactly the values at a particular index instead of matching any value?</p>