Есть ли другой более элегантный способ сделать это (input = df, требуемый выход = dfc)?:
import pandas as pd
import numpy as np
df=pd.DataFrame({'date': pd.date_range(start='2016-01-01',
periods=48,freq='M'),'value':
np.random.normal(size=48)}).set_index('date')
df['m']=df.index.month
df['y']=df.index.year
df.index=df['y']
gd=df.groupby(['m'])['value']
for i,g in enumerate(gd):
if i==0:
dfc=gd.get_group(i+1)
else:
dfc=pd.concat([dfc,gd.get_group(i+1)],axis=1)
dfc.columns=['jan','feb','march','april','may','june','july','aug','sept','oct','nov','dec']