title: How do I operate on a DataFrame with a Series for every column?
body: <h2 id="the-question-yvw5">The question</h2>
  <p>Given a <code>Series</code> <code>s</code> and <code>DataFrame</code> <code>df</code>, how do I operate on each column of <code>df</code> with <code>s</code>?</p>
  <pre><code>df = pd.DataFrame(
      [[1, 2, 3], [4, 5, 6]],
      index=[0, 1],
      columns=['a', 'b', 'c']
  )
  
  s = pd.Series([3, 14], index=[0, 1])
  </code></pre>
  <p>When I attempt to add them, I get all <code>np.nan</code></p>
  <pre><code>df + s
  
      a   b   c   0   1
  0 NaN NaN NaN NaN NaN
  1 NaN NaN NaN NaN NaN
  </code></pre>
  <p>What I thought I should get is</p>
  <pre><code>    a   b   c
  0   4   5   6
  1  18  19  20
  </code></pre>
  <h2 id="objective-and-motivation-qa3y">Objective and motivation</h2>
  <p>I've seen this kind of question several times over and have seen many other questions that involve some element of this.  Most recently, I had to spend a bit of time explaining this concept in comments while looking for an appropriate canonical Q&amp;A.  I did not find one and so I thought I'd write one.</p>
  <p>These questions usually arises with respect to a specific operation, but equally applies to most arithmetic operations.</p>
  <ul>
  <li>How do I subtract a <code>Series</code> from every column in a <code>DataFrame</code>?</li>
  <li>How do I add a <code>Series</code> from every column in a <code>DataFrame</code>?</li>
  <li>How do I multiply a <code>Series</code> from every column in a <code>DataFrame</code>?</li>
  <li>How do I divide a <code>Series</code> from every column in a <code>DataFrame</code>?</li>
  </ul>