title: Pandas: using `map` for left merge returns NaN
body: <p>I have the following dataframe <code>df1</code>:</p>
  
  <pre><code>    X           Y           Order_  NEW_ID
  0   484970.4517 408844.0920 95083   1320437
  1   478512.3233 415791.5395 96478   1320727
  2   504516.3032 452923.4420 105246  1321260
  3   485147.0529 428172.1055 99633   1320979
  </code></pre>
  
  <p>And another one, <code>df2</code>:</p>
  
  <pre><code>    Order_  Loc
  0   83158   239,211
  1   83159   239,212
  2   83160   239,213
  3   83161   239,214
  </code></pre>
  
  <p>which I want to merge with the first so that the <code>Loc</code> column gets added with the correct values to <code>df1</code>. To do the merge, I use <code>map</code> to perform a left merge, first casting the <code>Loc</code> values as string:</p>
  
  <pre><code>df2['Loc'] = df2['Loc'].astype(str)
  df1['Loc']=df1.Order_.map(df2.Loc)
  </code></pre>
  
  <p>The result is odd in that the <code>Loc</code> values appearing in <code>df1</code> are of the <code>NaN</code> type:</p>
  
  <pre><code>    X           Y           Order_  NEW_ID  Loc
  0   484970.4517 408844.0920 95083   1320437 NaN
  1   478512.3233 415791.5395 96478   1320727 NaN
  2   504516.3032 452923.4420 105246  1321260 NaN
  3   485147.0529 428172.1055 99633   1320979 NaN
  </code></pre>
  
  <p>whereas I expected them to be string and to appear in a <code>239,211</code> fashion (string that includes a comma). When investigating the dtype of <code>Loc</code> in <code>df2</code> I get:</p>
  
  <pre><code>Order_     int64
  Loc       object
  dtype: object
  </code></pre>
  
  <p><strong>My question:</strong> How can I perform a change of type from object to string, so that I am able to effectively read the <code>Loc</code> values, and avoid their becoming <code>NaN</code>?</p>