Variable not changed from integer to float on conditional update
I want to create a dataframe variable, set all rows to zero, then conditionally update some rows with a floating point value. When I don't explicitly create the variable as a float, subsequent conditional operations produce unexpected output. 

See the three examples below.

df['C'] is created as an integer -- result of calculation converts df['C'] to float:

```
df = pd.DataFrame({"A": np.arange(6), "B": np.arange(6)})
df['C'] = 0 # create as integer
df['C'] = df.A / df.B.sum() # update all
print df

   A  B         C
0  0  0  0.000000
1  1  1  0.066667
2  2  2  0.133333
3  3  3  0.200000
4  4  4  0.266667
5  5  5  0.333333
```

df['C'] created as integer -- conditional update results in strange output:

```
df = pd.DataFrame({"A": np.arange(6), "B": np.arange(6)})
df['C'] = 0 # create as integer
df['C'][df.index > 2] = df.A / df.B.sum() # conditional update
print df
   A  B                    C
0  0  0                    0
1  1  1                    0
2  2  2                    0
3  3  3  4596373779694328218
4  4  4  4598475459520434449
5  5  5  4599676419421066581
```

df['C'] created as float -- conditional update results as expected:

```
df = pd.DataFrame({"A": np.arange(6), "B": np.arange(6)})
df['C'] = 0.0 # create as float
df['C'][df.index > 2] = df.A / df.B.sum() # conditional update
print df
   A  B         C
0  0  0  0.000000
1  1  1  0.000000
2  2  2  0.000000
3  3  3  0.200000
4  4  4  0.266667
5  5  5  0.333333
```

I'm using the Anaconda distribution with Pandas 0.12.0.
