如何根据类别添加总收入

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??

以上是关于如何根据类别添加总收入的主要内容,如果未能解决你的问题,请参考以下文章

如何根据传入的远程通知有效负载中定义的类别添加不同的操作?迅速更新

根据多个类别为 WooCommerce 订单号添加前缀

Android记账本开发:数据库开发

根据运输类别和商品数量添加 Woocommerce 费用

在Woocommerce中根据产品类别添加自定义结帐字段

生活管家app