Окно минутной длины переменной данных Pandas, находящее минимальное значение с этого момента до времени закрытия - PullRequest
0 голосов
/ 05 июля 2018

У меня есть объект dataframe с данными за 1 минуту. Пример (скажем, отметка времени есть или нет в индексе .. в любом случае)

timestamp               date        price    endofdaytime
2018-03-11 13:03:00     2018-03-11  20.03   2018-03-11 16:29:52
2018-03-11 13:08:00     2018-03-11  19.00   2018-03-11 16:29:52
2018-03-11 15:22:00     2018-03-11  20.11   2018-03-11 16:29:52
2018-03-11 16:03:00     2018-03-11  21.03   2018-03-11 16:29:52
2018-03-11 16:29:52     2018-03-11  20.03   2018-03-11 16:29:52
2018-03-12 13:03:00     2018-03-12  20.03   2018-03-12 16:29:59
2018-03-12 13:08:00     2018-03-12  19.00   2018-03-12 16:29:59
2018-03-12 16:03:00     2018-03-12  21.03   2018-03-12 16:29:59
2018-03-12 16:29:59     2018-03-12  22.00   2018-03-12 16:29:59

Я хотел бы добавить столбец с именем low2close. где из каждой строки берется min (цена) от текущего времени до конца дня. Я не выяснил, как получить переменную loc окна и запустить агрегатную функцию (например, min) на нем. Есть мысли?

1 Ответ

0 голосов
/ 05 июля 2018

Я думаю, вам нужно использовать cummin после инвертирования данных с помощью [::-1] (и реверсирования порядка после), все в transform после groupby, например:

df['low2close'] = df.groupby('date')['price'].transform(lambda x: x[::-1].cummin()[::-1])

и дает мин от текущей строки до конца дня в ту же дату

            timestamp        date  price        endofdaytime  low2close
0 2018-03-11 13:03:00  2018-03-11  20.03 2018-03-11 16:29:52      19.00
1 2018-03-11 13:08:00  2018-03-11  19.00 2018-03-11 16:29:52      19.00
2 2018-03-11 15:22:00  2018-03-11  20.11 2018-03-11 16:29:52      20.03
3 2018-03-11 16:03:00  2018-03-11  21.03 2018-03-11 16:29:52      20.03
4 2018-03-11 16:29:52  2018-03-11  20.03 2018-03-11 16:29:52      20.03
5 2018-03-12 13:03:00  2018-03-12  20.03 2018-03-12 16:29:59      19.00
6 2018-03-12 13:08:00  2018-03-12  19.00 2018-03-12 16:29:59      19.00
7 2018-03-12 16:03:00  2018-03-12  21.03 2018-03-12 16:29:59      21.03
8 2018-03-12 16:29:59  2018-03-12  22.00 2018-03-12 16:29:59      22.00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...