title: Combining dataframes with same column but different length
body: <p>I want to merge df1 and df2, both have different lengths. The intersection on key column needs to be such that the output table has the values from df2 for every corresponding key as the values within the key column are repeating.</p>
  <p>df1</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>key</th>
  <th>value</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>1</td>
  <td>5</td>
  </tr>
  <tr>
  <td>1</td>
  <td>5</td>
  </tr>
  <tr>
  <td>2</td>
  <td>9</td>
  </tr>
  <tr>
  <td>3</td>
  <td>11</td>
  </tr>
  <tr>
  <td>4</td>
  <td>14</td>
  </tr>
  <tr>
  <td>4</td>
  <td>14</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>df2</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>key</th>
  <th>value</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>1</td>
  <td>a</td>
  </tr>
  <tr>
  <td>2</td>
  <td>b</td>
  </tr>
  <tr>
  <td>3</td>
  <td>c</td>
  </tr>
  <tr>
  <td>4</td>
  <td>d</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>output</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>key</th>
  <th>value</th>
  <th>value</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>1</td>
  <td>5</td>
  <td>a</td>
  </tr>
  <tr>
  <td>1</td>
  <td>5</td>
  <td>a</td>
  </tr>
  <tr>
  <td>2</td>
  <td>9</td>
  <td>b</td>
  </tr>
  <tr>
  <td>3</td>
  <td>11</td>
  <td>c</td>
  </tr>
  <tr>
  <td>4</td>
  <td>14</td>
  <td>d</td>
  </tr>
  <tr>
  <td>4</td>
  <td>14</td>
  <td>d</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>I'm trying
  output = pd.merge(df1, df2, left_on = 'key', right_on = 'key')
  But it's creating extra rows.</p>
  <p>Thanks for your help in advance.</p>