title: Pandas merge multiple times generates a _x and _y columns
body: <p>I have 2 dataframes where I found common matches based on a column (tld), if a match is found (between a column in source and destination) I copied the value of column (uuid) from source to the destination dataframe.</p>
  
  <p>Now I also need to check if a different column is a match. (company_name)</p>
  
  <p><strong>Dataframe 1: source</strong></p>
  
  <pre><code>   uuid           website company_name           tld
  0     11  www.facebook.com     facebook  facebook.com
  1     22     www.yahoo.com    yahoo inc     yahoo.com
  2     33    www.google.com       Google    google.com
  3     44     www.cisco.com        Cisco     cisco.com
  </code></pre>
  
  <p><strong>Dataframe 2: destination</strong></p>
  
  <pre><code>  id  website           company_name           tld  match uuid
  0  a  www.facebook.com      facebook  facebook.com  False  NaN
  1  b         www.y.com     Yahoo Inc         y.com  False  NaN
  2  c         www.g.com        Google         g.com  False  NaN
  3  d         www.g.com    Google Inc         g.com  False  NaN
  4  e  www.facebook.com  Facebook Inc  facebook.com  False  NaN
  </code></pre>
  
  <p>Find <a href="https://stackoverflow.com/questions/51226423/pandas-find-common-matches-between-2-dataframes/51226499#51226499">matches</a>:</p>
  
  <pre><code>destination.loc[destination.tld.isin(source.tld),'match'] = True
  destination = destination.merge(source[['tld', 'uuid']], on='tld', how='left')
  </code></pre>
  
  <p>The above copy the UUID column from source into the UUID column 
  in the destination dataframe.</p>
  
  <pre><code> id           website company_name           tld  match  uuid
  0  a  www.facebook.com     facebook  facebook.com   True  11
  1  b         www.y.com     YahooInc         y.com  False  NaN
  2  c         www.g.com       Google         g.com  False  NaN
  3  d         www.g.com    GoogleInc         g.com  False  NaN
  4  e  www.facebook.com  FacebookInc  facebook.com   True  11
  </code></pre>
  
  <p>Now I need to check if company_name is a match as well to have something like this:</p>
  
  <pre><code> id           website company_name           tld  match  uuid
  0  a  www.facebook.com     facebook  facebook.com   True  11
  1  b         www.y.com     YahooInc         y.com  False  NaN
  2  c         www.g.com       Google         g.com  True   33
  3  d         www.g.com    GoogleInc         g.com  False  NaN
  4  e  www.facebook.com  FacebookInc  facebook.com   True  11
  </code></pre>
  
  <p>When I try to add:</p>
  
  <pre><code>destination.loc[destination.company_name.isin(source.company_name), 'match'] = True
  destination = destination.merge(source[['company_name', 'uuid']], on='company_name', how='left')
  </code></pre>
  
  <p>I get a duplicated uuid column: uuid_x and uuid_y</p>
  
  <pre><code>id           website  company_name           tld  match uuid_x uuid_y
  0  a  www.facebook.com      facebook  facebook.com   True     11     11
  1  b         www.y.com     Yahoo Inc         y.com  False    NaN    NaN
  2  c         www.g.com        Google         g.com   True    NaN     33
  3  d         www.g.com    Google Inc         g.com  False    NaN    NaN
  4  e  www.facebook.com  Facebook Inc  facebook.com   True     11    NaN
  </code></pre>
  
  <p><strong>Final code</strong></p>
  
  <pre><code>destination.loc[destination.tld.isin(source.tld),'match'] = True
  destination = destination.merge(source[['tld', 'uuid']], on='tld', how='left')
  destination.loc[destination.company_name.isin(source.company_name), 'match'] = True
  destination = destination.merge(source[['company_name', 'uuid']], on='company_name', how='left')
  </code></pre>