如何根据类别添加总收入
Posted
技术标签:
【中文标题】如何根据类别添加总收入【英文标题】:How to add a total income based on category 【发布时间】:2019-10-07 09:38:36 【问题描述】:我有这样的数据框
我想根据类别对客户的收入进行分组和汇总
首先:我想按月份对客户的收入进行分组
第二:客户收入按月份分组后,我想按进口或出口分组
第三:我想根据“费用、利息和成本”对客户的收入进行分组
第四:我想根据“费用、利息和成本”添加客户的总收入
我的预期
这是我最后的代码
df = df.groupby ("[信息", "名称"] )。 agg("总和)
我很困惑python中的“合并和单元格”以及基于类别的总和
【问题讨论】:
【参考方案1】:您可以使用具有很大灵活性的pivot_table
:
In [11]: df
Out[11]:
Month Name Info Ex/Im Income
0 Jan Alice charge export 100
1 Jan Alice interest import 10
2 Jan Bob cost export 200
3 Feb Alice charge export 100
4 Jan Bob cost export 200
In [12]: df.pivot_table(index="Name", columns=["Month", "Ex/Im", "Info"], values="Income", aggfunc='sum')
Out[12]:
Month Feb Jan
Ex/Im export export import
Info charge charge cost interest
Name
Alice 100.0 100.0 NaN 10.0
Bob NaN NaN 400.0 NaN
In [13]: df.pivot_table(index="Name", columns=["Month", "Ex/Im", "Info"], values="Income", aggfunc='sum', fill_value=0)
Out[13]:
Month Feb Jan
Ex/Im export export import
Info charge charge cost interest
Name
Alice 100 100 0 10
Bob 0 0 400 0
【讨论】:
@andy_Hanyden 我可以添加来自差异数据框的值的列吗? 为什么我得到 - 5??以上是关于如何根据类别添加总收入的主要内容,如果未能解决你的问题,请参考以下文章