Dataframe Where Dataframe == False Returns Dataframe with Floats
If I have a Dataframe with True/False values only like this:

```
df_mask = pd.DataFrame({'AAA': [True] * 4,
                        'BBB': [False]*4,
                        'CCC': [True, False, True, False]}); print(df_mask)
```

```
    AAA    BBB    CCC
0  True  False   True
1  True  False  False
2  True  False   True
3  True  False  False
```

Then try to `print` where the values in the dataframe is equivalent to `False` like so:

```
print(df_mask[df_mask == False])
print(df_mask.where(df_mask == False))
```

My question is about column `CCC`. Column `BBB` shows False (as I expect) but why is `index 1` and `3` in column `CCC` equal to `0` instead of `False`?

```
   AAA    BBB  CCC
0  NaN  False  NaN
1  NaN  False    0
2  NaN  False  NaN
3  NaN  False    0
   AAA    BBB  CCC
0  NaN  False  NaN
1  NaN  False    0
2  NaN  False  NaN
3  NaN  False    0
```

Why doesn't it return a dataframe that looks like this?

```
   AAA    BBB   CCC
0  NaN  False   NaN
1  NaN  False False
2  NaN  False   NaN
3  NaN  False False
```

I was asked to post this question here.  I originally posted this on [StackOverflow here](http://stackoverflow.com/questions/30701068/python-pandas-boolean-dataframe-where-dataframe-equals-false-returns-0-instead).
