【发布时间】:2023-01-19 18:40:53
【问题描述】:
如何通过对每个名称进行分组来重叠时间间隔来计算总和。如果该组名,则基本上较小的间隔应该与较大的间隔合并。
输入
df1 = (pd.DataFrame({'name': ['a', 'a', 'a', 'b', 'b'],
'time_start': ['2000-01-01 00:01:12',
'2000-01-01 00:01:14',
'2000-01-01 00:03:12',
'2000-01-01 00:05:12',
'2000-01-01 00:05:16'],
'time_end': ['2000-01-01 00:01:18',
'2000-01-01 00:01:16',
'2000-01-01 00:03:24',
'2000-01-01 00:05:40',
'2000-01-01 00:05:18'],
'values':[20,30,40,20,5]})
.assign(time_start = lambda x: pd.to_datetime(x['time_start']),
time_end = lambda x: pd.to_datetime(x['time_end'])))
输出应该是
name time_start time_end values
0 a 2000-01-01 00:01:12 2000-01-01 00:01:18 50
1 a 2000-01-01 00:03:12 2000-01-01 00:03:24 40
2 b 2000-01-01 00:05:12 2000-01-01 00:05:40 25
【问题讨论】:
标签: pandas