title: Exect conversion of panda data frame column from numeric to string with proper NaN handling
body: <p>Below is my code:</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  
  df = pd.DataFrame({ 'object': ['a', 'b', 'c',np.nan],
                     'numeric': [1, 2, np.nan , 4],
                   })
  
  
  df['both'] = df['object'] + '__' + df['numeric'].astype(str)
  </code></pre>
  
  <p>After running it <code>df</code> looks like:</p>
  
  <pre><code>object   numeric   both
  a          1             a__1.0
  b          2             b__2.0
  c          nan          c__nan
  nan      4              nan
  </code></pre>
  
  <p>Above in column <code>both</code> I need to instead of <code>NaN</code> to add nothing and numerics added in <code>both</code> column should look as are in <code>numeric</code> column (without added <code>.0</code> and etc). So,  I want to get instead: </p>
  
  <pre><code>object   numeric   both
  a          1             a__1
  b          2             b__2
  c          nan          c__
  nan      4              4__
  </code></pre>