Incorrect column dtype conversion from object to int for small floating point numbers
#### Copy-pastable code sample to reproduce issue
```python
import pandas as pd
import random

col_data = [str(random.random() * 1e-12) for _ in range(5)]
print(col_data)

df = pd.DataFrame(col_data, columns=['A'])

print(df)
print(df.dtypes)

# Incorrect conversion when using DataFrame's index in .loc 
# with values that are "too small"
df.loc[df.index, 'A'] = [float(x) for x in col_data]
print(df)
print(df.dtypes)
```
#### Output
```
['2.92171544711e-13', '8.02292765206e-13', '4.70339206414e-13', '4.52326630197e-13', '8.40311711055e-13']
                   A
0  2.92171544711e-13
1  8.02292765206e-13
2  4.70339206414e-13
3  4.52326630197e-13
4  8.40311711055e-13
A    object
dtype: object
   A
0  0
1  0
2  0
3  0
4  0
A    int64
dtype: object
```

#### Problem description
When replacing portions of a DataFrame column from an originally 'object' type to a float, if the values are "too small",  they get incorrectly converted into int64 thereby setting the values to 0. This behavior is also dependent on how the index is passed on to the .loc[] method. 

Passing ":" seems to not trigger the incorrect conversion, but passing the DataFrame's own index, or a list of indices does. 
#### Expected Output
```
['2.92171544711e-13', '8.02292765206e-13', '4.70339206414e-13', '4.52326630197e-13', '8.40311711055e-13']
                   A
0  2.92171544711e-13
1  8.02292765206e-13
2  4.70339206414e-13
3  4.52326630197e-13
4  8.40311711055e-13
A    object
dtype: object
              A
0  2.921715e-13
1  8.022928e-13
2  4.703392e-13
3  4.523266e-13
4  8.403117e-13
A    float64
dtype: object
```
#### Output of ``pd.show_versions()``

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.10.final.0
python-bits: 64
OS: Darwin
OS-release: 17.4.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.22.0
pytest: None
pip: 9.0.1
setuptools: 21.0.0
Cython: 0.23.4
numpy: 1.14.2
scipy: 1.0.0
pyarrow: None
xarray: None
IPython: 4.1.2
sphinx: None
patsy: None
dateutil: 2.7.0
pytz: 2018.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 1.5.0
openpyxl: None
xlrd: 1.0.0
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 1.0.1
sqlalchemy: 1.1.9
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
</details>
