基于ID和日期(熊猫)组合的多个聚合

时间:2020-06-09 16:28:34

标签: python pandas

我是熊猫和stackoverflow的新手,所以我会尽力解释我的问题所在。

我有一个如下数据框,我想使用多种逻辑来汇总具有相同客户ID和日期的行(因此每个客户ID-日期组合只需要重复一个):

  • 该日期-客户ID的数量总和(每个购买日日期客户总共购买了几件)
  • 该日期-客户ID的销售ID(客户在每个购买日下达多少销售订单)
  • 该日期与客户ID的商店ID的区别计数(客户在每个购买日下订单的商店数)

  • 最后,我们在产品类别2中只有我标识为0或1的产品,我想添加2列以计算产品类别0的销售订单数量和产品类别的销售订单数量1。

我尝试使用下面的代码解决前三点,但没有成功。

df = df.groupby('客户ID','日期').sum('数量').count('销售ID')。nunique('商店ID')

真正挣扎于最后的第四点。

希望您可以在这里帮助我。

Dataframe

Desired Output

1 个答案:

答案 0 :(得分:0)

我使用agg()方法找到了前3点的解决方案:

df.groupby(['Customer id','Date'],as_index = False).agg({'Quantity':['sum'],'Sale id':['count'],'shop id ':['nunique']})

理想情况下,当=='0'和=='1'时,我会在agg()中向该计数“产品类别”添加两个附加聚合 有什么想法吗?