首页 > 解决方案 > 使用列标识符在 Pandas 中压缩预测

问题描述

我有一个 Pandas 数据框,其中包含产品的每周预测(前两列中包含产品信息) - 请参见下面的示例。

prod_type    prod_version    26-04-2021    03-05-2021    10-05-2021    17-05-2021    24-05-2021

product1          a              0            100           100           100           100

product1          b              0            200           100           400           100

product1          a             100           200           300           100           100

product2          a              0             0            500            0            100

product2          b             100           200           300           100           100

product2          b             200           400           300           800            0

我正在寻找最有效的方法来压缩预测行,即产品 1,版本 a 只剩下一行,它是相应列值的总和。最终输出应如下所示:

prod_type    prod_version    26-04-2021    03-05-2021    10-05-2021    17-05-2021    24-05-2021

product1          a             100           300           400           200           200

product1          b              0            200           100           400           100

product2          a              0             0            500            0            100

product2          b             300           600           600           900           100

我一直在玩一些 groupby.transform('sum') 方法,但似乎没有任何效果。有人对如何最好地实现这一目标有任何建议吗?

标签: pythonpandasforecasting

解决方案


您可以在groupby中使用多个列

df.groupby(['prod_type','prod_version']).sum()

推荐阅读