product | inventory | day
A | 1 | 1
A | 3 | 2
B | 2 | 2
B | 6 | 3
我想计算每天的产品变化。所需的结果表如下所示。诀窍是每天可能会有一些产品消失或有新产品涌入。例如,在第3天,产品A不再存在(换句话说,第2天的所有3个产品A都在第3天消失了) )。在第2天,由于我们在第1天没有库存,因此出现了新产品B。请记住,某些产品可能会在某天消失,然后再回来,然后又消失。
product | inventory_change | day
A | 1 | 1
A | 2 | 2
B | 2 | 2
A | -3 | 3
B | 4 | 3
我确信我可以使用循环遍历每一行来实现它。我想知道是否有更有效的方法来完成它而不循环?我以为使用groupby
,但仍然无法找到不使用循环的方法,尤其是考虑到可用的产品列表可能每天都不同(即day1:A,day2 A,B; day3:B),任何想法或建议?