Python 累积总和,如MS Excel中的熊猫
输入:Python 累积总和,如MS Excel中的熊猫,python,excel,pandas,Python,Excel,Pandas,输入: DEBIT CREDIT 0 10 20 1 5 30 2 6 5 C D 0 1.0 4.0 1 1.0 2.0 2 3.0 2.0 3
DEBIT CREDIT
0 10 20
1 5 30
2 6 5
C D
0 1.0 4.0
1 1.0 2.0
2 3.0 2.0
3 3.0 7.0
C D bal
0 1.0 4.0 3.0
1 1.0 2.0 4.0
2 3.0 2.0 3.0
3 3.0 7.0 7.0
DEBIT CREDIT BALANCE
0 10 20 10
1 5 30 35
2 6 5 34
预期输出:
DEBIT CREDIT BALANCE
0 10 20 10
1 5 30 35
2 6 5 34
我想做贷方和借方列的累计差额之和
得到余额列。就是
Balance(1st value) = CREDIT(1st value) - DEBIT(1st value)
Balance(2nd value) = Balance(1st value) + CREDIT(2nd value) - DEBIT(2nd value)
Balance(3rd value) = Balance(2nd value) + CREDIT(3rd value) - DEBIT(3rd value)
示例数据帧:
df['BALANCE'] = df[['DEBIT', 'CREDIT']].diff(axis=1).iloc[:,1].cumsum().astype(int)
df:
DEBIT CREDIT
0 10 20
1 5 30
2 6 5
C D
0 1.0 4.0
1 1.0 2.0
2 3.0 2.0
3 3.0 7.0
C D bal
0 1.0 4.0 3.0
1 1.0 2.0 4.0
2 3.0 2.0 3.0
3 3.0 7.0 7.0
DEBIT CREDIT BALANCE
0 10 20 10
1 5 30 35
2 6 5 34
使用
pd.diff()
获取D列和C列之间的差异,并使用.cumsum()
df:
DEBIT CREDIT
0 10 20
1 5 30
2 6 5
C D
0 1.0 4.0
1 1.0 2.0
2 3.0 2.0
3 3.0 7.0
C D bal
0 1.0 4.0 3.0
1 1.0 2.0 4.0
2 3.0 2.0 3.0
3 3.0 7.0 7.0
DEBIT CREDIT BALANCE
0 10 20 10
1 5 30 35
2 6 5 34
对于给定的数据帧:
df['BALANCE'] = df[['DEBIT', 'CREDIT']].diff(axis=1).iloc[:,1].cumsum().astype(int)
df:
DEBIT CREDIT
0 10 20
1 5 30
2 6 5
C D
0 1.0 4.0
1 1.0 2.0
2 3.0 2.0
3 3.0 7.0
C D bal
0 1.0 4.0 3.0
1 1.0 2.0 4.0
2 3.0 2.0 3.0
3 3.0 7.0 7.0
DEBIT CREDIT BALANCE
0 10 20 10
1 5 30 35
2 6 5 34
请在问题中发布您的数据样本,而不是图像。请以文本形式提供您的数据,还包括用于清除的excel公式。我已添加编辑过的答案。