python - PM4Py - 基于开始活动获取跟踪子集
问题描述
考虑这个事件跟踪 - a -> b -> c -> d -> e
。我想在给定起始节点的情况下获取事件跟踪的子集。
因此,如果起始节点是b
,我希望代码返回b -> c -> d -> e
。但这不是该pm4py.filter_start_activities
功能的工作方式。如果跟踪从给定的起始节点开始,这只会返回跟踪。它不返回子集。
有什么解决方案吗?
解决方案
如果您只想保留以某个活动开头的事件日志中的跟踪,您可以使用以下代码:
from pm4py.algo.filtering.log.start_activities import start_activities_filter
log_start = start_activities_filter.get_start_activities(log)
filtered_log = start_activities_filter.apply(log, ["S1"])
如果要删除所有现有跟踪的前缀(“开始活动”之前的前缀),则必须编写自定义函数。如果不使用 EventLog 对象更容易,您总是可以转换为 pandas 数据框并返回。
推荐阅读
- python - Salesforce 到 Salesforce 迁移
- angular - 如何在打开之前在模式内设置反应式表单字段?
- discord - 在命令冷却 Discord.py 中使用变量
- android - Android 由于某种原因我在 onPause 和 onDestroyView 之间有延迟
- safari - Safari 13.1.2 无法识别内容安全策略哈希
- laravel - 返回 Post::all(); - Laravel 版本 8
- python - 什么是更好的解决方案,链式任务或直接调用 python 函数?
- algorithm - 为什么安装在虚拟环境中的模块在 bash 中可用而不是空闲?
- types - 如何在不实现功能的情况下强制执行超级特征?
- cordova - Cordova 插件需要 config.xml 条目,但我使用 Capacitor