Inconsistent return types for df.loc[id]['column']
#### Code Sample

```python
import pandas as pd

df = pd.DataFrame([1,2,3], columns=['column'], index=[1,1,2])

for idx in df.index.unique():    
    print(type(df.loc[idx]['column']))
    for v in df.loc[idx]['column']:
        print(v)
```

Output:

```
<class 'pandas.core.series.Series'>
1
2
<class 'numpy.int64'>
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-26-a207307b6a42> in <module>()
      5 for idx in df.index.unique():
      6     print(type(df.loc[idx]['column']))
----> 7     for v in df.loc[idx]['column']:
      8         print(v)

TypeError: 'numpy.int64' object is not iterable
```

#### Problem description

The problem with this code is, that `data.loc[idx]['column']` can either be a `Series` or a `float64` instance. This is a problem because this requires an additional check. Also this can lead to bugs very easily.

#### Expected Output

I would expect this to return _always_ a `Series` object. 

