Вычисление попарной разницы во времени между совпадающими записями в таблице данных

У меня есть таблица данных из трех столбцов следующего вида:

TIME        MPID    CPID
16:45:51    10051   77845
16:45:51    10051   77845
16:46:52    10051   77846
16:46:53    10051   77846
16:48:38    10051   77847
16:48:38    10051   77847
16:48:39    10051   77995
16:49:31    10051   77848
16:49:31    10051   77848
16:51:03    10051   77849
16:51:03    10051   77849

Здесь столбец TIME состоит из меток времени вида ЧЧ:ММ:СС. Столбцы MPID и CPID являются идентификационными номерами; что они означают, не важно для моего вопроса.Значения MPID также не играют роли, за исключением того факта, что они присутствуют в наборе данных и должны распространяться на выходные данные.

Я хочу определить пары строк, которые имеют совпадающие значения CPID, и вычислить разницу между соответствующими значениями времени. Так, например, в приведенном выше примере есть две строки (третья и четвертая) с CPID 77846. Соответствующее время — 16:46:52 и 16:46:53, поэтому я хочу вычислить разницу:

16:46:53 - 16:46:52 = 00:00:01

Я также хотел бы вывести этот результат в следующем формате:

MPID 10051 CPID 77846 Total time difference: 01 seconds

Если заданный CPID не встречается в наборе данных ровно дважды, я хочу его игнорировать.

Желаемый результат для данного примера данных должен выглядеть следующим образом:

MPID 10051 CPID 77845 Total time difference: 00 seconds
MPID 10051 CPID 77846 Total time difference: 01 seconds
MPID 10051 CPID 77847 Total time difference: 00 seconds
MPID 10051 CPID 77848 Total time difference: 00 seconds
MPID 10051 CPID 77849 Total time difference: 00 seconds
-1
10.11.2017, 09:33
0 ответов

Теги

Похожие вопросы