У меня есть набор данных, как показано ниже.Идея состоит в том, чтобы смотреть каждые предыдущие 720 минут не на частоту, которую мы используем в функции группирования.Я хочу увидеть количество положительных изменений за предыдущие 720 минут.Это действительно не подсчитывает сумму положительных результатов за 720 минут.
row Timestamp Direction Positive Neg Nut
1 1/20/19 12:15
2 1/20/19 12:17 Nut
3 1/20/19 12:17 Neg
4 1/20/19 12:18 Neg
5 1/20/19 12:19 Pos
6 1/20/19 12:20 Neg
7 1/20/19 12:21 Neg
8 1/20/19 12:22 Pos
9 1/20/19 12:23 Neg
10 1/20/19 12:24 Pos
11 1/20/19 12:25 Neg
12 1/20/19 12:26 Neg
13 1/20/19 12:27 Neg
14 1/20/19 12:29 Neg
15 1/20/19 12:29 Nut
720 1/20/19 12:30 Pos 230(o2:o720) 284 205
721 1/20/19 12:31 Nut 230(o3:o721) 284 206
Так что я делаю =COUNTIF(Direction2:Direction721,"Pos")
в Excel, чтобы вычислить столбец Положительный.Код, который я пробовал работать в течение 60 минут и 15 минут, но когда я использую 720 минут, то есть 12 часов, я не получаю положительного, отрицательные числа, как я хотел.Это дает мне счет 0, 1 и так далее, что совершенно неправильно.
Код пробовал:
cols = df['ChangeDirection'].dropna().unique()
for c in cols:
df[c] = df['ChangeDirection'].eq(c).rolling('720min').sum()
df.loc[:df.index[0] + pd.Timedelta(720*60, unit="s"), cols] = np.nan