Why does Pandas coerce my numpy float32 to float64 in this piece of code:

```
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame([[1, 2, 'a'], [3, 4, 'b']], dtype=np.float32)
>>> A = df.ix[:, 0:1].values
>>> df.ix[:, 0:1] = A
>>> df[0].dtype
dtype('float64')

```

The behavior seems so odd to me that wonder if it is a bug. I am on Pandas version 0.17.1 (updated PyPI version) and I note there has been coercing bugs recently addressed, see <https://github.com/pydata/pandas/issues/11847> . I haven't tried the piece of code with an updated GitHub master.

Is it a bug or do I misunderstand some "feature" in Pandas? If it is a feature, then how do I get around it?

(The coercing problem relates to a question I recently asked about the performance of Pandas assignments: [Assignment of Pandas DataFrame with float32 and float64 slow](https://stackoverflow.com/questions/35184681/assignment-of-pandas-dataframe-with-float32-and-float64-slow))