numpy 使用pandas基于条件添加前一行值以获取当前行

kkih6yb8  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(101)

我有以下dataframe:
| 接收|发布|
| --|--|
| 5 | 0 |
| 10 | 0 |
| 0 | 1 |
| 0 | 2 |
| 20 | 0 |
| 0 | 3 |
| 25 | 0 |
| 30 | 4 |
需要
| 接收|发布|剩余|
| --|--|--|
| 5 | 0 | 5 |
| 10 | 0 | 15 |
| 0 | 1 | 14 |
| 0 | 2 | 12 |
| 20 | 0 | 32 |
| 0 | 3 | 29 |
| 25 | 0 | 54 |
| 30 | 4 | 80 |
其余列应该使用以下公式计算:剩余=先前(剩余)+收到-发出
我已经尝试了shift,isnull()和不同类型的条件,但我没有得到它。

uurity8g

uurity8g1#

试试.cumsum()

df["Remaining"] = (df["Received"] - df["Issued"]).cumsum()
print(df)

图纸:

Received  Issued  Remaining
0         5       0          5
1        10       0         15
2         0       1         14
3         0       2         12
4        20       0         32
5         0       3         29
6        25       0         54
7        30       4         80

相关问题