У меня есть следующий df
lst = [[1548828606206000000, 1548840373139000000],
[1548841285708000000, 1548841458405000000],
[1548842198276000000, 1548843109519000000],
[1548844022821000000, 1548844934207000000],
[1548845431090000000, 1548845539219000000],
[1548845555332000000, 1548845846621000000],
[1548847176147000000, 1548851020030000000],
[1548851704053000000, 1548852256143000000],
[1548852436514000000, 1548855900767000000],
[1548856817770000000, 1548857162183000000],
[1548858736931000000, 1548858979032000000]]
df = pd.DataFrame(lst,columns =['start','end'])
df['start'] = pd.to_datetime(df['start'])
df['end'] = pd.to_datetime(df['end'])
, и я хотел бы получить продолжительность этого события с временем начала и окончания в час: например,
в моем манекене df, то в течение 6-го часа должно быть 60 минут (максимум в час) - 00:10:06 = 00:49:54.Для 7-го и 8-го должно быть 1:00:00 каждый, а время окончания - 09:26:13Для 9-го числа должно быть 00:26:13 плюс все интервалы в следующих .row, которые перекрываются с 9-м часом 09:44 - 09:41 = 3 минуты и 60 минут -00: 56 = 4 минуты.Таким образом, итоговое значение за 9-е должно быть 26+ 3 + 4 ~ = 00: 32: 28
Моим первоначальным назначением было слияние начала и конца, добавление фиктивных точек в каждый 3-й ряд, повышение до 1S, получение разницы междустроки, суммировать только фактические строки.Должен быть более питонический способ сделать это.Любой намек был бы великолепен.