where method results in a different outputs when using the inplace kwarg
I am getting different results when using the where method with  `inplace=False` vs `inplace=True`.

consider the following `dataframe`:

```ptyhon 
df = pd.DataFrame({'a':[1,None,3]})
df
    a
0   1.0
1   Nan
2   3.0
```
when using the where method with `inplace=False` (the default), i get the following result:

```python
df.where(pd.notnull(df), None)
    a
0   1.0
1   None
2   3.0
```
with `a` being converted to be of type `object`.

however if i do this:
```python
df.where(pd.notnull(df), None, inplace=True)
df
    a
0   1.0
1   Nan
2   3.0
```
`a` is of type `float64`

pandas version: 0.23.3 , numpy version: 1.14.5

reported because of my [question](https://stackoverflow.com/questions/51515563/pandas-where-method-results-in-a-different-outputs-when-using-the-inplace-kwarg) on SO