title: Merge two dataframes with duplicate
body: <p>I have two data frames which look like and I want to merge them based on the countries</p>
  
  <p>df1:</p>
  
  <pre><code>+-------------------+-------------------+--------------+----------+----------+
  | Country/Region    | ObservationDate   |  Confirmed   |  Deaths  | Recovered|
  +-------------------+-------------------+--------------+----------+----------+
  |  Mainland China   |  2020-01-22       |    547       |   17     |  28      | 
  |  Indonesia        |  2020-01-22       |    0         |   0      |  0       |
  |  Japan            |  2020-01-22       |    2         |   0      |  0       |     
  |  Thailand         |  2020-01-22       |    2         |   0      |  0       |    
  |  Mainland China   |  2020-01-23       |    639       |   18     |  30      |  
  +-----------------+---------------------+--------------+----------+----------+
  </code></pre>
  
  <p>df2:</p>
  
  <pre><code>+-----------------+-------------------+--------------------+
  | Country         |  Region           |  Tropic/Nontropic  |
  +-----------------+-------------------+--------------------+
  |  Mainland China |  Asia &amp; Pacific   | nontropic          |
  |  Indonesia      |  Asia &amp; Pacific   | tropic             |
  |  Japan          |  Asia &amp; Pacific   | nontropic          |
  |  Thailand       |  Asia &amp; Pacific   | tropic             | 
  +-----------------+-------------------+--------------------+
  </code></pre>
  
  <p>The output I want may look like this:</p>
  
  <p>df__new:</p>
  
  <pre><code>+-------------------+-------------------+--------------+----------+----------+-------------------+--------------------+
  | Country/Region    | ObservationDate   |  Confirmed   |  Deaths  | Recovered|  Region           |  Tropic/Nontropic  |
  +-------------------+-------------------+--------------+----------+----------+-------------------+--------------------+
  |  Mainland China   |  2020-01-22       |    547       |   17     |  28      |  Asia &amp; Pacific   | nontropic          | 
  |  Indonesia        |  2020-01-22       |    0         |   0      |  0       |  Asia &amp; Pacific   | tropic             |
  |  Japan            |  2020-01-22       |    2         |   0      |  0       |  Asia &amp; Pacific   | nontropic          |     
  |  Thailand         |  2020-01-22       |    2         |   0      |  0       |  Asia &amp; Pacific   | tropic             |    
  |  Mainland China   |  2020-01-23       |    639       |   18     |  30      |  Asia &amp; Pacific   | nontropic          |  
  +-----------------+---------------------+--------------+----------+----------+-------------------+--------------------+
  </code></pre>
  
  <p>I have tried:</p>
  
  <pre class="lang-py prettyprint-override"><code>pd.merge(df_new, df_cat, on=['Country/Region', 'Country'], how='left')
  </code></pre>
  
  <p>But it raised an error:</p>
  
  <pre class="lang-py prettyprint-override"><code>---------------------------------------------------------------------------
  KeyError                                  Traceback (most recent call last)
  &lt;ipython-input-86-eff12d512209&gt; in &lt;module&gt;
  ----&gt; 1 pd.merge(df_new, df_cat, on=['Country/Region', 'Country'], how='left')
  
  ~\anaconda3\lib\site-packages\pandas\core\reshape\merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
       84         copy=copy,
       85         indicator=indicator,
  ---&gt; 86         validate=validate,
       87     )
       88     return op.get_result()
  
  ~\anaconda3\lib\site-packages\pandas\core\reshape\merge.py in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate)
      625             self.right_join_keys,
      626             self.join_names,
  --&gt; 627         ) = self._get_merge_keys()
      628 
      629         # validate the merge keys dtypes. We may need to coerce
  
  ~\anaconda3\lib\site-packages\pandas\core\reshape\merge.py in _get_merge_keys(self)
      981                     if not is_rkey(rk):
      982                         if rk is not None:
  --&gt; 983                             right_keys.append(right._get_label_or_level_values(rk))
      984                         else:
      985                             # work-around for merge_asof(right_index=True)
  
  ~\anaconda3\lib\site-packages\pandas\core\generic.py in _get_label_or_level_values(self, key, axis)
     1690             values = self.axes[axis].get_level_values(key)._values
     1691         else:
  -&gt; 1692             raise KeyError(key)
     1693 
     1694         # Check for duplicates
  
  KeyError: 'Country/Region'
  </code></pre>
  
  <p>How can I achieve the result on df_new?</p>