У меня есть DataFrame, который состоит из 3 столбцов (временная метка, имя, значение).
Строки DF сортируются по временной метке в порядке возрастания.
Учитывая входную временную метку, которая может не иметь одинакового совпадения в DF и имени цели (которое гарантированно будет в строке).
Я хотел бы найти индекс для строки, где:
Метка времени в строке либо равна входной метке времени, либо
На следующий раз меньше входной метки времени, а имя строки равно заданному имени.
Кроме того, все метки времени в метке времени являются уникальными.
Учитывая следующий DataFrame:
row timestamp name value
0 1 A V1
1 3 B V2
2 5 C V3
3 7 D V4
4 9 A V5
5 11 B V6
6 13 C V7
7 15 D V8
Для метки времени = 3 и имени = B индекс должен быть 1
Для метки времени = 6 и имени = C индекс должен быть 2
Для отметки времени = 13 и имени = A индекс должен быть 4
Для отметки времени = 6 и имени = D индекс должен быть равен NaN, так как в момент времени 6 * 1030 или перед ним нет значения. *
Как это будет сделано (надеюсь, эффективно) в pandas?