Consider the following dataframe:
A B C D 0 foo one 0.162003 0.087469 1 bar one -1.156319 -1.526272 2 foo two 0.8338
tmp = df.groupby(['A'])['c'].transform('mean')
is like
tmp1 = df.groupby(['A']).agg({'c':'mean'}) tmp = df['A'].map(tmp1['c'])
or
tmp1 = df.groupby(['A'])['c'].mean() tmp = df['A'].map(tmp1)