title: Pandas filter rows using multiple fields together
body: <p>I have a pandas <code>DataFrame</code> like this:</p>
  
  <pre><code>In [34]: people = pandas.DataFrame({'name' : ['John', 'John', 'Mike', 'Sarah', 'Julie'], 'age' : [28, 18, 18, 2, 69]})
           people  = people[['name', 'age']]
           people
  
  Out[34]:    
      name    age
  0   John    28
  1   John    18
  2   Mike    18
  3   Sarah   2
  4   Julie   69
  </code></pre>
  
  <p>I want to filter this <code>DataFrame</code> using the following tuples:</p>
  
  <pre><code>In [35]: filter = [('John', 28), ('Mike', 18)]
  </code></pre>
  
  <p>The output should look like this:</p>
  
  <pre><code>Out[35]: 
      name    age
  0   John    28
  2   Mike    18
  </code></pre>
  
  <p>I've tried doing this:</p>
  
  <pre><code>In [34]: mask = k.isin({'name': ['John', 'Mike'], 'age': [28, 18]}).all(axis=1)
           k = k[mask]
           k
  </code></pre>
  
  <p>However it shows me both Johns because it filters each column independently (the ages of both Johns are present in the <code>age</code> array). </p>
  
  <pre><code>Out[34]: 
      name    age
  0   John    28
  1   John    18
  2   Mike    18
  </code></pre>
  
  <p>How do I filter rows based on multiple fields taken together?</p>