title: Remove rows where two columns contain partial string
body: <p>I have a dataframe with 2 columns, orders and product. I want to filter orders column having two(out of many - key and product code) attributes from product column.</p>
  
  <p>have tried pandas string but it does nothing.</p>
  
  <pre><code>orders = df_ipp_h_complex_f[df_ipp_h_complex_f['PRODUCT'].str.contains(("1666-K030-V001|1666-K037-V001|1666-K020-V002")) &amp; df_ipp_h_complex['PRODUCT'].str.contains("MC")]
  </code></pre>
  
  <p>expected is to get df containing orders not having both product key and code.</p>
  
  <p>actually it is giving 0 as filter row count</p>
  
  <p>For example, I'd like the following code to return row1, row2 and row4 as output:</p>
  
  <pre><code>df = pd.DataFrame.from_dict({'a': ['h', 'hxx', 'gxx', 'bxx'], 
      'b':['ac', 'xxz', 'bc', 'xxy']})
  
  df[df['b'].str.contains('a') &amp; df['b'].str.contains('xx')]
  </code></pre>