Я пытался задать этот вопрос ранее, но он был слишком неоднозначным, поэтому здесь снова.Я новичок в программировании, так что я все еще учусь, как задавать вопросы полезным способом.
В итоге, у меня есть pandas dataframe, который напоминает "INPUT DATA", который я хотел бы преобразовать в "DESIRED OUTPUT"", как показано ниже.
Каждая строка содержит идентификатор, дату и время.Для каждого уникального идентификатора первая строка соответствует моменту времени «ноль», а каждая последующая строка содержит значение 5 минут после предыдущей строки и т. Д.
Я хотел бы рассчитать среднее значение всех идентификаторов длякаждый истекший момент времени.Например, в «ЗАПИСИВАЕМОМ ВЫХОДЕ» Time Elapsed = 0.0 будет иметь значение 128,3 (100 + 105 + 180/3);Истекшее время = 5,0 будет иметь значение 150,0 (150 + 110 + 190/3);Time Elapsed = 10.0 будет иметь значение 133,3 (125 + 90 + 185/3) и т. Д. Для Time Elapsed = 15,20,25 и т. Д.
Я не уверен, как создать новый столбец, которыйимеет значение времени, прошедшего для каждого идентификатора (например, 0,0, 5,0, 10,0 и т. д.).Я думаю, что, как только я знаю, как это сделать, тогда я могу использовать функцию groupby для вычисления среднего значения для каждого прошедшего времени.
ВХОДНЫЕ ДАННЫЕ
ID DateTime Value
1 2018-01-01 15:00:00 100
1 2018-01-01 15:05:00 150
1 2018-01-01 15:10:00 125
2 2018-02-02 13:15:00 105
2 2018-02-02 13:20:00 110
2 2018-02-02 13:25:00 90
3 2019-03-03 05:05:00 180
3 2019-03-03 05:10:00 190
3 2019-03-03 05:15:00 185
ЖЕЛАЕМЫЙ ВЫХОД
Time Elapsed Mean Value
0.0 128.3
5.0 150.0
10.0 133.3