如何根据类别增加总收入

时间:2019-05-21 03:35:23

标签: python pandas xlsxwriter

我有这样的数据框

enter image description here

我想根据类别对客户的收入进行汇总和汇总

首先:我想根据月份对客户的收入进行分组

第二:根据月对客户收入进行分组后,我想根据进出口对分组进行分组

第三:我想根据“费用,利息和费用”对客户的收入进行分组

第四:我想基于“费用,利息和成本”来增加客户的总收入

我的期望

enter image description here

这是我的最后一个代码

  

df = df.groupby(“ [信息”,“名称”])。 Agg(“ sum)

Im如此困惑,“合并和单元格”在python中并基于类别求和

1 个答案:

答案 0 :(得分: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