Type changing when extracting rows of a dataframe
```python
import pandas as pd
a = pd.DataFrame(data = [[1, 2, 1.0],
                         [2, 3, 2.1]])

# Mixed int and float types
print(a.dtypes)
# Extracting a row changes all the types to float
b = a.loc[0]
# All the elements are float now!
print([type(x) for x in b])
```
#### Problem description

If a dataframe contains mixed `int` and `float` types, extracting a row converts all the
elements to floats, instead of respecting the proper one.

This has bitten me a couple of times when saving dataframe contents to mongo documents
(one document per row).

Is this desired behaviour?
