У меня есть следующий Pandas мультииндексный DataFrame с индексом верхнего уровня, являющимся идентификатором группы, и индексом второго уровня, являющимся when
, в формате времени ISO 8601 (показан здесь без времени):
value weight
when
5e33c4bb4265514aab106a1a 2011-05-12 1.34 0.79
2011-05-07 1.22 0.83
2011-05-03 2.94 0.25
2011-04-28 1.78 0.89
2011-04-22 1.35 0.92
... ... ...
5e33c514392b77d517961f06 2009-01-31 30.75 0.12
2009-01-24 30.50 0.21
2009-01-23 29.50 0.96
2009-01-10 28.50 0.98
2008-12-08 28.50 0.65
when
в настоящее время определяется как index
, но это не является обязательным требованием.
Утверждения
when
могут быть неуникальными. - Столбцы могут быть разной длины в группах
- Внутри групп
when
, value
и weight
всегда будут одинаковой длины (для каждого when
всегда будет value
и weight
Вопрос
Используя параметр index_time
, как вы получите:
- Самое последнее прошлое
value
и weight
от каждой группы относительно index_time
вместе с разницей (в секундах) между index_time
и when
. index_time
может быть временем в прошлом, так что только записи, где when
<= <code>index_time. - Результат должен быть каким-то образом проиндексирован, чтобы идентификатор группы каждого результата был n следует вывести
Пример
Из приведенного выше, если index_time
было 2011-05-10
, то результат должен быть:
value weight age
5e33c4bb4265514aab106a1a 1.22 0.83 259200
5e33c514392b77d517961f06 30.75 0.12 72576000