Use unstack
.
In [111]: means = df.groupby(['Comp', 'Dept'])['Salary'].mean()
In [112]: means.unstack(0).sort(ascending=False)
Out[112]:
Comp Apple Google
Dept
Sales 7143.000000 4900
Mktg 4193.333333 4434
[2 rows x 2 columns]
In [110]: df.groupby(['Comp', 'Dept'])['Salary'].max().unstack(0).sort(ascending=False)
Out[110]:
Comp Apple Google
Dept
Sales 9786 10000
Mktg 4590 5412
[2 rows x 2 columns]