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()
我有一个 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()