计算包含各种添加和删除操作的记录的总体余额



我有一个数据帧df,列type,timestamp,valueteam。类型为add(加值)或sub(减值)。这些记录记录了为某个特定团队支付或收取的款项。我想计算一下我在所有团队和每个团队上花费的总金额。请注意,我可以在周一支付X给特定的A团队,然后在周二取回X,然后在周五支付A团队的Y。有什么熊猫式的好方法吗?下面是数据的示例:

<表类> 类型 时间戳 价值 团队 tbody><<tr>添加167597143220添加167597139250C子167587781315添加167587757910D添加167587752820道明>添加167587712815

我从您那里了解到您需要两个新列:

第一列是反映总体净余额((add) - (sub)的总和)第二列反映的是每个团队的净余额

为了达到目的,你需要一个虚拟列,你可以随后删除。

创建第一个虚拟列:
import numpy as np
df['dummy'] = np.where(df.Type=='add',df.Value, df.Value *-1) 

现在您将创建第一列"overall">

df['overall'] = sum(df.dummy)

第二列

df['netbalance']= df.groupby('Team')['dummy'].transform('sum')

最后您将删除虚拟列

df.drop(columns='dummy',inplace=True)

相关内容

  • 没有找到相关文章

最新更新