根据递增的列条件向前填充熊猫

DumbCoder21

我有以下数据框。我想从startTime到endTime转发填充每个我拥有的ID。

id current    startTime  endTime
1  2015-05-10 2015-05-10 2015-05-12
2  2015-07-11 2015-07-11 2015-07-13
3  2015-10-01 2015-10-01 2015-10-03
4  2015-12-01 None       None

这是我的预期输出:

id current    
1  2015-05-10
1  2015-05-11
1  2015-05-12 
2  2015-07-11 
2  2015-07-12 
2  2015-07-13 
3  2015-10-01 
3  2015-10-02 
3  2015-10-03
4  2015-12-01
艾玛

我用date_rangeexplode这一点。

df['current'] = df.apply(lambda row: row['current'] if row['startTime'] is None else pd.date_range(row['startTime'], row['endTime'], freq='D'), axis=1) 

df = df.explode('current')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章