1 回答
TA贡献1877条经验 获得超1个赞
我认为您可以拆分代码以使用聚合进行创建,然后重新设计由累积总和填充的列:DataFramesumamount
df = pd.read_csv('payments.csv', index_col=0)
df['effective_date'] = pd.to_datetime(df['effective_date'])
df = df.groupby(['account_id', 'currency', 'effective_date'], as_index=False).sum()
df['amount'] = df.groupby('account_id')['amount'].cumsum()
print (df)
account_id currency effective_date amount
0 1 USD 2019-12-26 50
1 1 USD 2019-12-27 120
2 2 USD 2019-11-06 90
3 2 USD 2019-11-07 120
df.to_csv('cumulativePayments.csv')
另一个想法应该是将第一列转换为日期时间,并且对于写入文件,请删除默认索引值:
df = pd.read_csv('payments.csv', parse_dates=[0])
df = df.groupby(['account_id', 'currency', 'effective_date'], as_index=False).sum()
df['amount'] = df.groupby('account_id')['amount'].cumsum()
df.to_csv('cumulativePayments.csv', index=False)
添加回答
举报
