我得到以下csv:
地区,地区,分销商,销售代表,销售,invoice_count 中环,北海,HIN MARKETING,TLS,500,25 中环,北海,HIN MARKETING,TLS,500,25 中环,北海,HIN MARKETING,OSE,500,25 中环,北海,HIN MARKETING,OSE,500,25 东,JB,雷华,NF05,500,25 东,JB,雷华,NF05,500,25 东,JB,雷华,NF06,500,25 东,JB,雷华,NF06,500,25
如果我这样分组: df.groupby(['region','area','distributor','salesrep']).sum().unstack(['distributor','salesrep']).to_string()
我得到了以下结果。
销售发票计数 经销商 HIN MARKETING LEI WAH HIN MARKETING LEI WAH 销售代表 OSE TLS NF05 NF06 OSE TLS NF05 NF06 区域面积 北海中部 1000 1000 NaN NaN 50 50 NaN NaN 东 JB NaN NaN 1000 1000 NaN NaN 50 50
有没有一种方法可以代替单独的 sales 和 invoice_count 聚合分组,将聚合分布在每个单独的列上。
像这样的东西。
经销商 HIN MARKETING HIN MARKETING HIN MARKETING HIN MARKETING 丽华丽华丽华丽华丽华 销售代表 OSE OSE TLS TLS NF05 NF05 NF06 NF06 销售发票_count 销售发票_count 销售发票_count 销售发票_count 区域面积 北海中部 1000 50 1000 50 NaN Nan NaN NaN 东 JB 南 南 南 南 1000 50 1000 50
我尝试通过遍历列并获取每个聚合然后从中创建一个新的数据框来解决它。但是在 pandas 中必须有一种更直接的方法可以做到这一点,我可能会错过。