如何在Python中逐行计算数据帧的小计?

2024-09-27 00:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下建议:

import pandas as pd
df = pd.DataFrame([['2020/01/01','A',5],['2020/01/10','B',-2],['2020/01/15','C',3],['2020/01/18','B',9]],columns=['datetime','broker','amount'])  

我需要在新列的“金额”列中逐行计算小计。。。 我已经尝试了下面的代码:

df['Subtotal amount'] = df.sum(axis=1, numeric_only=True)

返回以下结果:

     datetime broker  amount  Subtotal amount
0  2020/01/01      A       5                5
1  2020/01/10      B      -2               -2
2  2020/01/15      C       3                3
3  2020/01/18      B       9                9

但是我想逐行计算结果,加上和减去这些值​​从前面几行:

     datetime broker  amount  Subtotal amount
0  2020/01/01      A       5                5
1  2020/01/10      B      -2                3
2  2020/01/15      C       3                6
3  2020/01/18      B       9               15

Tags: columns代码importdataframepandasdfdatetimeas
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:26

正如安德烈·凯斯利(Andrej Kesely)在评论中所说的那样,你正试图做一个累积性的总结。cumsum是您所追求的numpy函数。这应该能奏效

df['Subtotal amount'] = df.amount.cumsum()

安德烈的功劳,我只是把这个问题转移到一个答案上来

相关问题 更多 >

    热门问题