title: Difference between logical_and vs "&" for comparing 2 boolean arrays
body: <p>I am trying to compare 2 boolean arrays as below</p>
  <pre><code># Create arrays
  import numpy as np
  my_house = np.array([18.0, 20.0, 10.75, 9.50])
  
  # my_house greater than 18.5 and smaller than 10
  print(np.logical_and(my_house &gt; 18.5, my_house &lt; 10))
  </code></pre>
  <p>What is the difference between^^ and below</p>
  <pre><code># Create arrays
  import numpy as np
  my_house = np.array([18.0, 20.0, 10.75, 9.50])
  a=my_house &gt; 18.5
  b=my_house &lt; 10
  
  # my_house greater than 18.5 and smaller than 10
  print(a&amp;b)
  </code></pre>
  <p>The outputs I get are the same.
  What is the benefit of 1st over 2nd? And when should one prefer the 1st over 2nd?</p>