我有一个数据框,里面有一只股票的信息,如下所示:
|产品ID |初始库存|数量|
| ------------ | ------------ | ------------ |
|a1|5|-2|
|a1|5|-1|
|a1|5|7|
|a2|10|2|
|a2|10|-6|
|b1|14|-9|
|b1 | 14 | 11|
每一行代表特定产品的购买/销售。我想添加一个新的列来了解产品的当前库存。每个产品的第一行应为:Current stock = Inital stock + Quantity
,下一行应为Current stock[i] = Current stock[i-1] + Quantity[i]
|产品ID |初始库存|数量|当前库存|
| ------------ | ------------ | ------------ | ------------ |
|a1|5|-2|3|
|a1|5|-1|2|
|a1|5|7|9|
|a2|10|2|12|
|a2|10|-6|6|
|b1|14|-9|5|
|b1 | 14 | 11 | 16|
在Excel中很容易,但你会如何使用Pandas?我尝试过按产品ID分组,但我不知道如何引入“每个产品的第一行”的条件
1条答案
按热度按时间knpiaxh11#
计算数量的
groupby.cumsum
,并从初始库存中提取:输出: