如何通过总结特定列来“压扁”熊猫面板

时间:2016-09-10 17:02:53

标签: python pandas

我仍然使用Pandas和Python来熟悉自己,所以请原谅这是一个简单的问题。我也想避免使用一个衬垫,以便在可能的情况下理解底层动作! :)

我已经成功地提取了数据数据,从而产生了一个包含四个项目的Panel。每个项目的关键是日历季度:

Item '2015-03-31':
Type        Quarterly Sales        Ending Inventory
Shoes       123,456                50,000
Purses      33,222                 10,000

Item '2015-06-30':
Type        Quarterly Sales        Ending Inventory
Shoes       12,744                 56,000
Purses      15,123                 9,000

Item '2015-9-30':
Type        Quarterly Sales        Ending Inventory
Shoes       15,998                 35,000
Purses      11,222                 15,000

Item '2015-12-31':
Type        Quarterly Sales        Ending Inventory
Shoes       12,000                 45,000
Purses      9,551                  7,000

最终,我想通过总结季度销售额来“扁平化”这一点,但是从类型结束广告资源中获取最近的条目,并在DataFrame中有这个。所以我的结尾DataFrame将是这样的:

Type        Quarterly Sales        Ending Inventory
Shoes       164,198                45,000
Purses      69,118                 7,000

我尝试使用像grouby这样的函数(例如mypanel.groupby('Type').sum()),但最终总结了季度销售 结束广告资源,而我想采用“最近的”结束库存。一个简单的“修复”就是获取生成的DataFrame,然后减去结束库存列的前三个季度的总和,但这看起来非常尴尬。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

agg_dict = {'Quarterly Sales': 'sum', 'Ending Inventory': 'last'}
pnl.to_frame().T.stack(0).groupby(level='Type').agg(agg_dict)

enter image description here