index = pd.date_range('2000-1-1', periods=700, freq='D')
df = pd.DataFrame(np.random.randn(700), index=index, columns=['values'])
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
Изменение структуры данных Pandas по месяцам