У меня есть фрейм данных с DateTimes и целогоPython Панды - найти последовательную группу с максимальной совокупностью значений
import numpy as np
import pandas as pd
df = pd.DataFrame()
df['dt'] = pd.date_range("2017-01-01 12:00", "2017-01-01 12:30", freq="1min")
df['val'] = np.random.choice(xrange(1, 100), df.shape[0])
дает мне
dt val
0 2017-01-01 12:00:00 33
1 2017-01-01 12:01:00 42
2 2017-01-01 12:02:00 44
3 2017-01-01 12:03:00 6
4 2017-01-01 12:04:00 70
5 2017-01-01 12:05:00 94*
6 2017-01-01 12:06:00 42*
7 2017-01-01 12:07:00 97*
8 2017-01-01 12:08:00 12
9 2017-01-01 12:09:00 11
10 2017-01-01 12:10:00 66
11 2017-01-01 12:11:00 71
12 2017-01-01 12:12:00 25
13 2017-01-01 12:13:00 23
14 2017-01-01 12:14:00 39
15 2017-01-01 12:15:00 25
Как я могу найти какую N
-minute группы подрядаdt
дает мне максимальную сумму val
?
В этом случае, если N=3
, то результат должен быть:
dt val
5 2017-01-01 12:05:00 94
6 2017-01-01 12:06:00 42
7 2017-01-01 12:07:00 97
(отмеченные звездочкой выше)
спасибо. Это хорошо работает для параметризации 'N' – philshem
@philshem. Добро пожаловать! – miradulo
Это на самом деле очень интересный способ сделать это ... можно было бы расширить множество способов ... спасибо, что указали это! –