Python 基于新客户编号的累积金额重置

Python 基于新客户编号的累积金额重置,python,pandas,cumsum,Python,Pandas,Cumsum,我有一个看起来像这样的数据集。 我想做的是以下几点 对于每个客户编号,合计贷方金额、合计借方金额(从最早到最新)直到借方金额=贷方金额*-1 信用证可适用于部分发票 返回要为每个客户应用信用的文档编号(和金额)列表 df['debcum_sum']=df.groupby(['CustNum'])['debitis'].apply(lambda x:x.cumsum()) 我打算为cumsum添加一列,但我想尝试将其作为for循环。 有什么建议吗?使用groupby+cumsum的组合,然后

我有一个看起来像这样的数据集。

我想做的是以下几点

  • 对于每个客户编号,合计贷方金额、合计借方金额(从最早到最新)直到借方金额=贷方金额*-1
  • 信用证可适用于部分发票
  • 返回要为每个客户应用信用的文档编号(和金额)列表
df['debcum_sum']=df.groupby(['CustNum'])['debitis'].apply(lambda x:x.cumsum())

我打算为cumsum添加一列,但我想尝试将其作为for循环。
有什么建议吗?

使用
groupby
+
cumsum
的组合,然后使用
pd.Series。其中
/
掩码
隐藏基于
信用
列的值-

v = df.groupby(['CustNum'])['Debits'].cumsum()
df['debit_cumsum'] = v.where(v >= df['Credit'] * -1)

既然你可以:
df.groupby(['CustNum'])['Debits'].cumsum()
,那为什么还要使用循环呢?那么我的下一步是什么,当同一个客户的借方cumsum等于贷方cumsum时,让借方cumsum停止?啊,说明你的实际问题很有帮助,谢谢。你能发布一个小的可复制数据集吗(以text/CSV/Python代码形式)和所需的数据集?MaxU-如何将CSV附加到问题?