BUG: apply idxmax on one-column DataFrameGroupby generates ValueError
With this dataframe:

```
import pandas as pd
from StringIO import StringIO

s="""2011.05.16,00:00,1.40893
2011.05.16,01:00,1.40760
2011.05.16,02:00,1.40750
2011.05.16,03:00,1.40649
2011.05.17,02:00,1.40893
2011.05.17,03:00,1.40760
2011.05.17,04:00,1.40750
2011.05.17,05:00,1.40649
2011.05.18,02:00,1.40893
2011.05.18,03:00,1.40760
2011.05.18,04:00,1.40750
2011.05.18,05:00,1.40649"""

df = pd.read_csv(StringIO(s), header=None, names=['date', 'time', 'value'], parse_dates=[['date', 'time']])
df = df.set_index('date_time')
```

applying an `idxmax`:

```
df.groupby(df.index.date).apply(lambda x: x.idxmax())
```

produces on master:

```
ValueError: Shape of passed values is (1, 3), indices imply (1, 3)
```

while this does work on 0.12

It has to do I think with difference between SeriesGroupby and DataFrameGroupby with one column, as `df.groupby(df.index.date)['value'].apply(lambda x: x.idxmax())` does work in master, but in 0.12 both ways work.
