python - 使用 pm4py 从事件日志中获取图表
问题描述
我有一个事件日志数据集,其中包含以下列:
case:concept:name concept:name time:timestamp
我的目标是根据事件发生的日期获得事件的分布。
我使用了如上所示列的命名约定,因为我一直在使用名为 PM4Py 的包执行流程挖掘任务。为了获得所需的分发,我使用了 PM4Py 中的 csv 读取功能,并使用 pandas 包执行了一些任务。
这是我在将 csv 文件读入名为 'df' 的数据框对象后尝试的操作:
date = []
for i,row in df.iterrows():
date.append(row['time:timestamp'].date())
df['Date'] = date #Creating a new column with only the date values
import matplotlib.pyplot as plt
plt.scatter(df['Date'].value_counts().index, df['Date'].value_counts())
plt.show()
这里的时间戳列是一个熊猫日期时间对象。输出似乎在某种程度上产生了所需的东西。但是,我想知道是否有更优雅的方法可以使用 PM4Py 或任何类似的包来做到这一点?
任何帮助,将不胜感激。谢谢。
解决方案
您可以使用该pm4py.visualization.graphs
模块,它似乎实现了您正在寻找的功能(http://pm4py.pads.rwth-aachen.de/documentation/obtaining-graphs-from-trace-log/)。
它可以生成关于案例持续时间、时间或任何数字属性的分布图。
推荐阅读
- c# - 每次在 Xamarin 中按下按钮时尝试显示不同的报价
- javascript - 为什么模糊和聚焦在 Safari 上不起作用?
- javascript - JavaScript 模块导入/导出
- android - Android在ViewPager2上删除片段
- python - 迭代中的方法引发异常
- c# - 如何模拟构造函数内部的依赖关系?
- r - 在R中的每一天根据每个组取平均值
- ios - 如何在数字键盘上快速为 VPMOTPView 添加完成按钮
- android - IllegalStateException:无法显示附加到不同 FragmentManager 的 Fragment
- python - 将视频通话功能与 Django 和 Django Channels 集成