我有以下数据框。我想从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_range
与explode
这一点。
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] 删除。
我来说两句