Затраченное время во временных рядах pandas

#python-3.x #pandas #time-series

#python-3.x #pandas #временные ряды

Вопрос:

У меня есть фрейм данных временных рядов pandas, и я хочу знать общее прошедшее время для фрейма данных или точек внутри фрейма данных. Как мне это сделать?

Ниже приведены некоторые примеры данных из моего фрейма данных:

 elapsed_time           Layer
1970-01-01 00:20:30    20.0
1970-01-01 00:20:31    20.0
1970-01-01 00:20:32    20.0
1970-01-01 00:20:33    20.0
1970-01-01 00:20:34    20.0
1970-01-01 00:20:35    20.0
1970-01-01 00:20:36    20.0
1970-01-01 00:20:37    20.0
1970-01-01 00:20:38    20.0
1970-01-01 00:20:39    20.0
1970-01-01 00:20:40    20.0
1970-01-01 00:20:41    20.0
1970-01-01 00:20:42    20.0
1970-01-01 00:20:43    20.0
1970-01-01 00:20:44    21.0
1970-01-01 00:20:45    21.0
1970-01-01 00:20:46    21.0
1970-01-01 00:20:47    21.0
1970-01-01 00:20:48    21.0
1970-01-01 00:20:49    21.0
1970-01-01 00:20:50    21.0
1970-01-01 00:20:51    21.0
1970-01-01 00:20:52    21.0
1970-01-01 00:20:53    21.0
1970-01-01 00:20:54    21.0
1970-01-01 00:20:55    22.0
1970-01-01 00:20:56    22.0
1970-01-01 00:20:57    22.0
1970-01-01 00:20:58    22.0
1970-01-01 00:20:59    22.0
1970-01-01 00:21:00    22.0
1970-01-01 00:21:01    22.0
1970-01-01 00:21:02    22.0
1970-01-01 00:21:03    22.0
1970-01-01 00:21:04    22.0
  

Например, я хочу знать, сколько времени занял слой 21. Существует ли какой-либо простой метод или функция для получения затраченного времени индекса? У меня не было проблем с выполнением этого, когда elapsed_time был частью фрейма данных, но я не могу заставить его работать, когда это индекс.

Ответ №1:

Проще всего было бы сбросить индекс, чтобы иметь доступ к временной метке в виде столбца для группы по:

 res = df.reset_index().groupby('Layer')['elapsed_time'].agg(['min', 'max'])  
res['max'] - res['min']
  

Вы также можете использовать first и last , если вы знаете, что ваши данные отсортированы.

Комментарии:

1. Спасибо за совет, но это не помогает, пока мои временные данные являются индексом. Я не понимаю, как извлечь затраченное время из индекса.