Я пытаюсь суммировать данные, индексированные по временным рядам для графика свечей.Фрейм данных имеет выборку каждые несколько секунд, что не рекомендуется для отображения на линейной диаграмме в течение более длительного периода времени.
Я хотел бы подвести итог к X минутам со значениями [ min, mean, max, 'start', 'end' ]
Я могу получить минимальные, средние, максимальные значения, но как я могу получить «начало» и'end'?
Фрейм данных (df) может выглядеть следующим образом:
DateTime Vals
2019-04-21 00:00:32 916892
2019-04-21 00:00:42 982588
2019-04-21 00:00:52 471452
2019-04-21 00:01:02 460576
2019-04-21 00:01:12 713764
2019-04-21 00:01:02 460576
...
2019-04-21 00:01:52 780545
2019-04-21 00:02:02 674151
...
2019-04-21 00:02:52 702329
2019-04-21 00:03:02 772237
...
2019-04-21 00:03:52 676713
2019-04-21 00:04:02 640359
...
2019-04-21 00:04:52 635224
2019-04-21 00:05:02 604004
....
(данные заменены на ...
для урезания)
Пока у меня есть этоработает:
grp = df.groupby(pd.Grouper(freq='60s'))['Vals'].agg(['min', 'mean', 'max' ])
Что дает мне «ожидаемый» вывод:
DateTime min mean max
2019-04-21 00:00:00 471452 790310.666667 982588
2019-04-21 00:01:00 460576 705737.500000 780545
2019-04-21 00:02:00 674151 711281.333333 772771
2019-04-21 00:03:00 653066 774984.833333 854880
2019-04-21 00:04:00 635224 655078.333333 676513
Однако я также хотел бы:
DateTime min mean max start end
2019-04-21 00:00:00 471452 790310.666667 982588 916892 471452
2019-04-21 00:01:00 460576 705737.500000 780545 460576 780545
2019-04-21 00:02:00 674151 711281.333333 772771 674151 702329
2019-04-21 00:03:00 653066 774984.833333 854880 640359 676713
2019-04-21 00:04:00 635224 655078.333333 676513 640359 635224
Есть ли удобный способделать это?