title: pandas.DataFrame.replace change dtype of columns
body: <p>So I was trying to replace <code>np.nan</code> values in my dataframe with <code>None</code> and noticed that in the process the datatype of the <code>float</code> columns in the dataframe changed to <code>object</code> even when they don't contain any missing data.</p>
  
  <p>As an example:</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  data = pd.DataFrame({'A':np.nan,'B':1.096, 'C':1}, index=[0])
  data.replace(to_replace={np.nan:None}, inplace=True)
  </code></pre>
  
  <p>Call to <code>data.dtypes</code> before and after the call to <code>replace</code> shows that the datatype of column B changed from float to object whereas that of C stayed at int.
  If I remove column A from the original data that does not happen.
  I was wondering why that changes and how I can avoid this effect.</p>