adding new row to frame breaks types
xref https://github.com/pydata/pandas/issues/8596

```
>>> df
   a
0  1
>>> df.dtypes
a    int64
dtype: object
>>> df.loc[1, 'a'] = 2
>>> df
   a
0  1
1  2
>>> df.dtypes
a    float64
dtype: object
```

in an intermediate step `nan` is inserted, and the data are casted to floats
