Nothing assigned (except nan) when use `loc`
```
In [3]: rrDF = pd.DataFrame()
In [4]: rrDF.loc[:,'c']=thatDF.c

In [5]: rrDF
Out[5]:
   c
0  9
1  8
2  8
...
18 5
19 9
20 0


In [6]: x
Out[6]:
    result
0      0.0
1      0.0
2      0.0
...
18     0.0
19     0.0
20     0.0

In [7]: type(x)
Out[7]: pandas.core.frame.DataFrame


In [8]: rrDF.loc[:,'r']=x

In [9]: rrDF # NOTE: nothing assigned
Out[9]:
    c   r
0   9 NaN
1   8 NaN
2   8 NaN
3   1 NaN
...
18  5 NaN
19  9 NaN
20  0 NaN


In [16]: rrDF['r']=x

In [17]: rrDF
Out[17]:
    c    r
0   9  0.0
1   8  0.0
2   8  0.0
3   1  0.0
...
18  5  0.0
19  9  0.0
20  0  0.0

In [18]: rrDF.loc[:,'r']=x  # NOTE: reset values to nan

In [19]: rrDF
Out[19]:
    c   r
0   9 NaN
1   8 NaN
2   8 NaN
3   1 NaN
...
17  0 NaN
18  5 NaN
19  9 NaN
20  0 NaN
```
#### Problem description

When using `rrDF.loc[:,'r']=x`, the expected output is to assign `x` to `rrDF.r` (same with `rrDF['r']=x`).

```
In [20]: pd.__version__
Out[20]: '0.23.0'
```
