df = pd.DataFrame(np.arange(16).reshape(-1, 4), list('abcd'), list('ABCD'))
df.loc[('mean'), :] = df.mean(0)
df.loc[:, ('Mean')] = df.mean(1)
df.loc['mean', 'Mean'] = np.nan
How can I add a extra roll of each columns' mean?