title: Python pandas: removing rows not matching multiple conditions from dataframe
body: <p>Suppose I have a column using pandas.dataframe like so:</p>
  
  <pre><code>index  fruits    origin      attribute
   1     apple     USA         tasty
   2     apple     France      yummy
   3     apple     USA         juicy
   4     apple     England     juicy
   5     apple     Japan       normal
   6     banana    Canada      nice
   7     banana    Italy       good
   .....
  </code></pre>
  
  <p>I want to select <code>yummy apple from France(2)</code> and remove unmatching <code>apples</code> from table like the following:</p>
  
  <pre><code>index  fruits    origin      attribute
   1     apple     France      yummy
   2     banana    Canada      nice
   3     banana    Italy       good
   .....
  </code></pre>
  
  <p>I thought the following should work. But it doesn't:</p>
  
  <pre><code>df.drop(df[(df.fruits == "apple") &amp; (df.origin != "France") | (df.fruits == "apple") &amp; (df.attribute != "yummy")].index)
  </code></pre>
  
  <p>Then I tried the following which also doesn't work:</p>
  
  <pre><code>df = df[~df[(df.fruits == "apple") &amp; (df.origin != "France") &amp; (df.attribute != "yummy")]
  </code></pre>
  
  <p>Any help, lads?</p>