【发布时间】:2021-08-17 03:01:33
【问题描述】:
我试图将一天中多个小时重叠的时间范围分成两行,每行代表每小时的时间(并留下开始和结束时间都在一天中的同一小时内的时间范围)。
示例数据框:
df1 = pd.DataFrame({'id':['A','B','C'],
'start_time':['2021-03-01 11:52:11+00:00','2021-03-01 11:53:10+00:00','2021-03-01 12:01:54+00:00'],
'end_time':['2021-03-01 12:14:45+00:00','2021-03-01 12:09:40+00:00','2021-03-01 12:57:03+00:00']})
df1['start_time'] = pd.to_datetime(df1['start_time'])
df1['end_time'] = pd.to_datetime(df1['end_time'])
看起来像:
--------------------------------------------------------------------------
index id start_time end_time
0 A 2021-03-01 11:52:11+00:00 2021-03-01 12:14:45+00:00
1 B 2021-03-01 11:53:10+00:00 2021-03-01 12:09:40+00:00
2 C 2021-03-01 12:01:54+00:00 2021-03-01 12:57:03+00:00
--------------------------------------------------------------------------
我希望得到如下结果:
--------------------------------------------------------------------------
index id start_time end_time
0 A 2021-03-01 11:52:11+00:00 2021-03-01 12:00:00+00:00
1 A 2021-03-01 12:00:00+00:00 2021-03-01 12:14:45+00:00
2 B 2021-03-01 11:53:10+00:00 2021-03-01 12:00:00+00:00
3 B 2021-03-01 12:00:00+00:00 2021-03-01 12:09:40+00:00
4 C 2021-03-01 12:01:54+00:00 2021-03-01 12:57:03+00:00
--------------------------------------------------------------------------
【问题讨论】:
标签: python pandas datetime time