Python如何从HeuristicsNet对象提取节点与连接生成DataFrame
提取HeuristicsNet节点与连接生成DataFrame方法
核心思路
你拿到的pm4py.objects.heuristics_net.obj.HeuristicsNet是PM4Py封装的自定义类,不是普通字典,直接访问它内置的属性即可提取所需数据:
- 通过
.nodes属性获取所有节点的字典,键为节点名称,值为节点实例 - 每个节点实例的
.output_connections属性存储了该节点关联的所有下游连接节点
完整实现代码
import pandas as pd nodes_col = [] connection_col = [] # 遍历启发式网所有节点 for source_node, node_obj in values.nodes.items(): # 遍历当前节点的所有连接目标节点 for target_node in node_obj.output_connections.keys(): nodes_col.append(source_node) connection_col.append(target_node) # 生成目标DataFrame df = pd.DataFrame({ 'Nodes': nodes_col, 'Connection': connection_col })
补充说明
默认生成的HeuristicsNet会过滤掉依赖度低于阈值的连接,如果你需要保留权重为0的全量连接,在调用启发式挖掘方法时设置dependency_threshold=0即可,示例:pm4py.discover_heuristics_net(log, dependency_threshold=0)
内容的提问来源于stack exchange,提问作者SoKu
相关产品推荐
相关产品推荐

