我有以下数据框:
班级 | 已收到 | 已发布 |
---|---|---|
FD | 10 | 0 |
FD | 0 | 2 |
RM | 5 | 0 |
RM | 0 | 3 |
FD | 0 | 2 |
下午 | 5 | 0 |
下午 | 1 | 0 |
RM | 1 | 0 |
FD | 4 | 0 |
我需要下面的 DF
班级 | 已收到 | 已发布 | 剩余数量 |
---|---|---|---|
FD | 10 | 0 | 10 |
FD | 0 | 2 | 8 |
RM | 5 | 0 | 5 |
RM | 0 | 3 | 2 |
FD | 0 | 2 | 6 |
下午 | 5 | 0 | 5 |
下午 | 1 | 0 | 6 |
RM | 1 | 0 | 3 |
FD | 4 | 0 | 10 |
剩余数量列是每个班级收到的-发出的cumsum()。我尝试过不同的方法,但我不明白。
df['Remaining Quantity'] = df.groupby('Class').apply(lambda x: x['Received'].cumsum() - x['Issued'].cumsum()).reset_index(drop=True)