组内的Pandas Dataframe 行操作

kpbwa7wx  于 2022-10-23  发布在  其他
关注(0)|答案(1)|浏览(169)

我有一个数据框,里面有一只股票的信息,如下所示:
|产品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分组,但我不知道如何引入“每个产品的第一行”的条件

knpiaxh1

knpiaxh11#

计算数量的groupby.cumsum,并从初始库存中提取:

df['Current stock'] = (df['Initial stock']
                         .add(df.groupby('Product ID')['Quantity'].cumsum())
                       )

输出:

Product ID  Initial stock  Quantity  Current stock
0         a1              5        -2              3
1         a1              5        -1              2
2         a1              5         7              9
3         a2             10         2             12
4         a2             10        -6              6
5         b1             14        -9              5
6         b1             14        11             16

相关问题