pandas groupby后调用apply的问题

今天学习pandas的时候,碰到了agg和apply聚合后调用自定义函数的例子,如下所示:

df_ = pd.DataFrame(np.random.randint(5,20,(5,4)), columns=list('abcd')) 

df_['e'] = list('AABBC')
#     a   b   c   d  e
# 0  18  15   7  18  A
# 1  19  11  15   7  A
# 2  12  19  13  19  B
# 3   7  19   6  13  B
# 4   9  18   9  13  C 

def get_stats(group_):
    return {'min': group_.min(), 'max': group_.max(),
            'count': group_.count(), 'mean': group_.mean()}

df_[['a', 'e']].groupby('e').apply(get_stats)
# e
# A    {'min': [18, 'A'], 'max': [19, 'A'], 'count': ...
# B    {'min': [7, 'B'], 'max': [12, 'B'], 'count': [...
# C    {'min': [9, 'C'], 'max': [9, 'C'], 'count': [1...
# dtype: object

df_['a'].groupby(list('AABBC')).apply(get_stats)
# A  min      18.0
#    max      19.0
#    count     2.0
#    mean     18.5
# B  min       7.0
#    max      12.0
#    count     2.0
#    mean      9.5
# C  min       9.0
#    max       9.0
#    count     1.0
#    mean      9.0
# Name: a, dtype: float64

请教一下,apply的时候groupby是同一个内容,出来的结果为什么一个是索引+字典的形式,另一个是复合索引+值的Series,是因为前者groupby的是一个Dataframe,后者groupby的是一个Series吗?这两个方法传入自定义函数get_stats的时候是怎么一个执行过程呢?感激不尽