我有一个如下所示的数据框,并希望根据当月+上个月(例如一年)来计算具有“打开”状态的“案例”数。
Current Month Case Status
2019-06-01 1 Open
2019-05-01 1 Open
2019-04-01 1 Open
2019-03-01 1 Closed
期望的输出要谢谢。
Current Month Case Status Count
2019-06-01 1 Open 3 # (June + May + Apr)
2019-05-01 1 Open 2 # (May + Apr)
2019-04-01 1 Open 1 # (Apr)
2019-03-01 1 Closed 0
答案 0 :(得分:4)
这是一种方法
df=df.sort_values('CurrentMonth')
df['Count']=df['Status'].eq('Open').iloc[::-1].groupby([df.CurrentMonth.dt.year,df.Case]).cumsum()
df
Out[483]:
CurrentMonth Case Status Count
0 2019-06-01 1 Open 3.0
1 2019-05-01 1 Open 2.0
2 2019-04-01 1 Open 1.0
3 2019-03-01 1 Closed 0.0