l = [df.index.strftime('%Y'), df.index.strftime('%b'), df.index.strftime('%d')]
df.index = l
df = df.groupby(level=[-3, -2]).sum().unstack(-1)
df['Year'] = df.sum(axis=1)
df
Reshaping Pandas dataframe by months