python - 熊猫在其他数据帧的时间窗口内计数出现次数
问题描述
我有一个具有这种事件模式的数据框
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
后跟一个或多个s,计算在指定时间窗口内发生event2
的这些 s 的数量,比如在那之后的 3 分钟。箭头表示时间窗口的开始。请问有什么帮助吗?event2
event1
解决方案
看起来你在那里有一个系列。在这种情况下,您可以这样做:
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
推荐阅读
- java - 检测 Google Books API 中图像何时不可用
- react-native - 创建反应原生项目时如何定义自己的包名称/捆绑标识符
- node.js - 使用 mongodb 和 nodejs 将多个集合发送到一个 ejs 文件
- pandas - 如何矢量化以加快 Dataframe 应用 pandas
- android - 如何录制在虚拟设备上运行的移动应用程序 UI
- php - 如何将 html 格式的文本发送到模板文档中的文本?
- android - GooglePlayGamesManifest.plugin 缺少 AndroidManifest.xml 文件。[统一]
- android - Expo 或 React Native:即使应用程序未处于活动状态,如何为整个屏幕或仅部分着色
- pdf - 合并两个后记时 ghostscript 不保留页面级别参数
- nginx - Nginx 核心转储