Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 累积总和,如MS Excel中的熊猫_Python_Excel_Pandas - Fatal编程技术网

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公式。我已添加编辑过的答案。