title: Sum columns of two pandas dataframes of different sizes only for certain rows
body: <p>I have two pandas dataframes looking like:</p>
  
  <pre><code>df1:
        n  column1
  0   5.0      0.0
  1   6.0      0.0
  2   7.0      0.0
  3   8.0      0.0
  4   9.0      0.0
  5  10.0      0.0
  
  df2:
       n  column2
  0  6.0      1.0
  1  7.0      1.0
  2  8.0      1.0
  </code></pre>
  
  <p>I want to sum <code>column1</code> and <code>column2</code> only for rows where <strong>n</strong> is the same. Desired output looks like:</p>
  
  <pre><code>df3:
        n  column1
  0   5.0      0.0
  1   6.0      1.0
  2   7.0      1.0
  3   8.0      1.0
  4   9.0      0.0
  5  10.0      0.0
  </code></pre>
  
  <p>Please note that:</p>
  
  <ul>
  <li>Values of <strong>n</strong> may vary from one case to another so I can't fill the columns of <code>df2</code> with zeroes and perform a classical sum.</li>
  <li>Values of <strong>n</strong> should not be modified in the end. So I'd like to avoid work-arounds like shifting <strong>n</strong> values to make them match with rows indexes.</li>
  <li><p>What I've tried so far produces something like:</p>
  
  <pre><code>      n  column1
  0   5.0      1.0
  1   6.0      1.0
  2   7.0      1.0
  3   8.0      NaN
  4   9.0      NaN
  5  10.0      NaN
  </code></pre>
  
  <p>Because sum is by default performed based on row's indexes in common rather than on <strong>n</strong> as I wish.</p></li>
  </ul>
  
  <p>How can I perform this with pandas built-in functions ?</p>