title: How to subtract 1d array from 2d array's rows in Numpy
body: <p>What I want to do is to subtract 1d array from other 2d array's rows.
  I found, in some case, result was wrong and confused me. Below code worked good as I wanted.</p>
  <pre><code>lst1 = [[10,11,12,13,14], [20,21,22,23,24], [30,31,32,33,34]]
  lstave = [10,20,30,40,50]
  # lstave = [0.1,0.2,0.3,0.4,0.5]  # &lt;- This is also no problem.
  # transform them to nparray.
  arr1 = np.array(lst1).reshape(3,5)
  arrave = np.array(lstave)
  
  
  for i in range(len(lst1)):
      print(arr1[i] - arrave)
      # print(np.subtract(arr1[i], arrave))   # &lt;- This is also work
  </code></pre>
  <p>Then I got following as expected.</p>
  <pre><code>[  0  -9 -18 -27 -36]
  [ 10   1  -8 -17 -26]
  [ 20  11   2  -7 -16]
  </code></pre>
  <p>However, when I change the array &quot;lstave&quot; to <strong>[1, 2, 3, 4, 5]</strong> and subtract,</p>
  <pre><code>lst1 = [[10,11,12,13,14], [20,21,22,23,24], [30,31,32,33,34]]
  lstave = [1,2,3,4,5]
  arr1 = np.array(lst1).reshape(3,5)
  arrave = np.array(lstave)
  
  for i in range(len(lst1)):
      print(arr1[i] - arrave)
  </code></pre>
  <p>I got following.</p>
  <pre><code>[9 9 9 9 9]
  [19 19 19 19 19]
  [29 29 29 29 29]
  </code></pre>
  <p>I cannot understand why the only 1st element subtraction performed 5 times.
  I feel that broadcast is working wrong way, but I don't know how to fix this.
  Can someone help me out?
  Thank you,</p>