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)
添加回答
舉報