1 回答
TA贡献1856条经验 获得超5个赞
如果 是纯字符串,则可以使用以下任一方式构建列:DateMonth
df['Month'] = pd.to_datetime(df['Date']).dt.strfime('%Y-%m')
或
df['Month'] = df['Date'].str.slice(0,7)
如果是列,则可以使用:Datetime
df['Month'] = df['Date'].dt.strfime('%Y-%m')
然后,您可以使用以下命令构建列:Month_Remaining
df['Month_Remaining'] = df['Due'] - df.groupby(['ID'])['Paid'].cumsum()
你应该最终得到:
ID Date Paid Due Month Month_Remaining
0 A 2019-07-01 40000 50000 2019-07 10000
1 B 2018-08-20 1500 9000 2018-08 7500
2 B 2018-08-20 2500 9000 2018-08 5000
3 B 2018-09-18 3000 9000 2018-09 2000
4 C 2018-10-03 1000 2000 2018-10 1000
5 C 2018-10-30 1000 2000 2018-10 0
6 D 2018-08-20 2000 3000 2018-08 1000
添加回答
举报