preserving dtype of added columns
It appears that when adding a column, a _DataFrame_ disregards its _dtype_ if it has a different _Index_. For example, **C1** happens to have the same index as **df**, so all is well:

```
In [19]:
df = pd.DataFrame({'C1':range(3)})

In [20]:
df['C2'] = pd.Series(range(3), dtype='uint32')
df.dtypes
Out [20]:
C1     int64
C2    uint32
dtype: object
```

But **C2** has a different _Index_, and its _dtype_ magically mutes:

```
In [21]:
df['C3'] = pd.Series(range(3), index=range(3,6), dtype='uint32')
df.dtypes
Out [21]:
C1      int64
C2     uint32
C3    float64
dtype: object
```
