title: Bracketing when filtering on mutiple fields
body: <p>A question on brackets when filtering:</p>
  
  <pre><code>df.info()
  
  RangeIndex: 4005 entries, 0 to 4004
  Data columns (total 41 columns):
  currency_str                   4005 non-null object
  state                          4005 non-null object
  
  display(
          df[
              df['currency_str'] == 'INR'  
          ])
  </code></pre>
  
  <p>Displays my INR rows correctly. </p>
  
  <p>When I add the second filter I require double brackets around both otherwise I get errors.</p>
  
  <pre><code>display(
  
          df[
              (df['currency_str'] == 'INR')    &amp;  
              (df['state'].str.contains('Done'))
          ])
  </code></pre>
  
  <p>What's going on under the hood here with Pandas? The &amp; is not enough? Is this specifically related to string fields where the criteria is enclosed in ''? </p>
  
  <p>No Brackets</p>
  
  <pre><code>display(
          df[
              df['currency_str'] == 'INR'    &amp;  
              df['state'].str.contains('Done')
          ])
  TypeError: cannot compare a dtyped [bool] array with a scalar of type [bool]
  </code></pre>
  
  <p>One set of brackets</p>
  
  <pre><code>display(
          df[
              (df['currency_str'] == 'INR'    &amp;  
              df['state'].str.contains('Done'))
          ])
  TypeError: cannot compare a dtyped [bool] array with a scalar of type [bool]
  </code></pre>