Have the lambda function return a new Series:
df_grp.apply(lambda x: pd.Series({'new_name':
x['C'].sum() * x['D'].mean() / x['E'].max()}))
# or df_grp.apply(lambda x: x['C'].sum() * x['D'].mean() / x['E'].max()).to_frame('new_name')
new_name
A B
X N 5.583333
Y M 2.975000
N 3.845455