pandas подсчет вхождений в течение временного окна на другом фрейме данных - PullRequest
0 голосов
/ 17 июня 2020

У меня есть фрейм данных с этим шаблоном событий

df = {
    '2017-11-28 11:00': 'event1',
    '2017-11-28 11:01': 'event1',
    '2017-11-28 11:02': 'event1', <-----
    '2017-11-28 11:03': 'event2',
    '2017-11-28 11:04': 'event2',
    '2017-11-28 11:05': 'event1',
    '2017-11-28 11:06': 'event1',
    '2017-11-28 11:07': 'event1', <-----
    '2017-11-28 11:08': 'event2',
    '2017-11-28 11:09': 'event2',
    '2017-11-28 11:10': 'event2',
    }

Я хочу сделать, чтобы для каждого event1, за которым следует один или несколько event2 s, подсчитать их количество event2 s, возникающие в течение указанного временного окна, скажем, через 3 минуты после этого event1. Стрелки указывают начало временного окна. Любая помощь, пожалуйста?

1 Ответ

1 голос
/ 17 июня 2020

Похоже у вас там сериал. В этом случае вы можете сделать:

threshold = (s.index.to_series()
  .groupby((s.eq('event1') & s.shift(-1).eq('event2')).cumsum())
  .transform('min') + pd.to_timedelta('3Min')    # adjust threshold here
)

(s.eq('event2') & (s.index < threshold)).sum()
# out 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...