Pandas: restar una columna de otra en una tabla dinámica

Me gustaría restar una columna de otra en una tabla dinámica. ‘diff’ debe ser la diferencia entre 2017 y 2016

raw_data = {'year': [2016,2016,2017,2017], 'area': ['A','B','A','B'], 'age': [10,12,50,52]} df1 = pd.DataFrame(raw_data, columns = ['year','area','age']) table=pd.pivot_table(df1,index=['area'],columns=['year'],values['age'],aggfunc='mean') table['diff']=table['2017']-table['2016'] 

Necesita eliminar [] en pivot_table para no crear MultiIndex en columnas:

 table=pd.pivot_table(df1,index='area',columns='year',values='age',aggfunc='mean') print (table) year 2016 2017 area A 10 50 B 12 52 table['diff']=table[2017]-table[2016] print (table) year 2016 2017 diff area A 10 50 40 B 12 52 40 

Otra posible solución es droplevel :

 table=pd.pivot_table(df1,index=['area'],columns=['year'],values=['age'],aggfunc='mean') table.columns = table.columns.droplevel(0) print (table) year 2016 2017 area A 10 50 B 12 52