Pandas 使用列标识符进行冷凝预测

Condensing forecast in Pandas using column identifier

我有一个 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') 方法,但似乎没有什么可以坚持的。有人对如何最好地实现这一目标有任何建议吗?

您可以在 groupby

中使用多列
df.groupby(['prod_type','prod_version']).sum()