Pandas: subtract one column from another in a pivot table

前端 未结 1 1426
南旧
南旧 2021-01-25 02:52

I would like to subtract one columns from another in a pivot table. \'diff\' shoud be the difference between 2017 and 2016

raw_data = {\'year\': [2016,2016,2017,         


        
相关标签:
1条回答
  • 2021-01-25 03:16

    You need remove [] in pivot_table for dont create MultiIndex in columns:

    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
    

    Another possible solution is 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
    
    0 讨论(0)
提交回复
热议问题