我需要的是从“2014-03”到“2019-01”期间每个月从开始计算每个模块的一些操作。
month_range = ['2014-03', '2014-04', '2014-05',
'2014-06', '2014-07', '2018-10',
'2018-11', '2018-12', '2019-01']
df = pd.DataFrame({'action':['done','in_work', 'done',
'fail','in_work', 'done'],
'module':['B1','B2','B1',
'B3','B1','B2'],
'start': ['2014-06','2014-07','2014-07',
'2014-10','2018-09','2018-12'],
'finish':['2014-06', NaT, '2018-10',
'2014-10', NaT, '2019-02']
},
columns = ['action','module',
'start', 'finish'])
A huge limitation
. 一个动作可以从一个月到另一个执行,并在一个日期范围内按每个月计算。
例如,如果模块仍处于“工作中”且操作没有结束 (NaT),则应按每个月从开始日期到最大日期范围内的日期计算。
计算后预计会有这样的形式:
B1 B2 B3
1 2014-03 0 0 0
2 2014-04 0 0 0
3 2014-05 0 0 0
4 2014-06 1 0 0
5 2014-07 1 0 0
如果有人知道任何解决方案?