ValueError in series.py when using transform on groupby object
I am seeing a ValueError when running the following example code

```
import pandas as pd
import numpy as np

if __name__ == '__main__':

    print(pd.__version__)
    print(np.__version__)

    df = pd.DataFrame({'ID': [1,1,2,3,3], 'VALUE': [110,110,200,300,301]})
    dfg = df.groupby('ID')['VALUE']
    print(dfg.get_group(1))

    df['MODE_VALUE'] = df.groupby('ID')['VALUE'].transform(lambda x: x.mode())
    print(df['MODE_VALUE'])
```
the output is 
```
0.24.2
1.15.4
0    110
1    110

Traceback (most recent call last):
...
File "..../models/testing/test_env.py", line 13, in <module>
    df['MODE_VALUE'] = df.groupby('ID')['VALUE'].transform(lambda x: x.mode())
  File "..../lib/python3.6/site-packages/pandas/core/groupby/generic.py", line 941, in transform
    s = klass(res, indexer)
  File "..../lib/python3.6/site-packages/pandas/core/series.py", line 255, in __init__
    .format(val=len(data), ind=len(index)))
ValueError: Length of passed values is 1, index implies 2
```
however the index and data being checked in series.py (line 255) is 
```
Name: VALUE, dtype: int64
[110]
Int64Index([0, 1], dtype='int64')
```

There only seems to be one value [110] in the data array, not two [110,110]. I would have expected the transform to operate on a series with the two values. 

The code works fine (as I expected) in my previous version of pandas 0.22.0. I noticed the issue only after updating to pandas 0.24.2
```
0.22.0
1.15.4
0    110
1    110
Name: VALUE, dtype: int64
0    110
1    110
2    200
3    300
4    301
Name: MODE_VALUE, dtype: int64
```

I am not sure if this is expected behaviour or a bug, just posting here to get some help! There are features in 0.24.2 I would like (e.g. DataFrame.to_numpy()) to use but am stuck on this breaking code issue!

Thanks
