【问题标题】:How to build a sequence based on timestamps ocurrences with Python?如何使用 Python 构建基于时间戳出现的序列?
【发布时间】:2019-07-16 11:20:44
【问题描述】:

我主要在具有 2.800.000 个唯一 ID 的 17.000.000 条记录的数据库上使用 Python。每个 ID 代表一个运输过程的事件,所有实例都有:ID、EVENT、TIMESTAMP(日期时间)。有一个事件通常但不总是启动序列,并且有多个结果,即交付、返回等。

我的目标是找到每个 ID 采用的最常见路径,即事件发生的顺序是什么,并获得流程中的瓶颈。

是否有任何可视化工具可以与 Python 一起使用,它内置了这种结构? 你会建议我如何处理这个问题?

谢谢

【问题讨论】:

    标签: python pandas process data-visualization analysis


    【解决方案1】:

    这不是 Python 的答案,但考虑到这个问题,我认为有更好的方法来执行此类分析。

    我不知道您是否听说过流程挖掘。但我认为在你的情况下使用它是完美的。基本上,流程挖掘包括分析流程的流程。我使用过不同的工具,其中一些是:

    • 迪斯科
    • 舞会(开源)
    • 塞洛尼斯

    基本上,您需要做的就是定义什么是 ID(您已经拥有它),然后选择哪些列代表时间戳(您已经拥有它)和事件的名称(您也拥有它)。

    任何这些工具都可以为您提供完美的流程分析。哪个是最常见的路径,每个事件的平均时间等。 如果您添加更多属性,它甚至可以根据这些属性返回遵循一条或另一条路径的原因。

    【讨论】:

    • 你确定 Disco 是开源的吗?我知道这是流程挖掘,但我喜欢使用 Python 应用它,这样使用免费软件更容易实现。
    • 抱歉,开源的是 Prom(我刚刚更新了它)。我认为 Disco 有一个免费版本,但行数有限(我相信 10.000),所以这对你来说肯定不够!
    • 如果你需要使用 Python,我猜 Pandas 是最好的选择。我之前尝试在 Python 中使用 Process Mining 库,但这是不可能的。
    • 对于python,你可以看看pm4py.org,否则,R中有一套很棒的包:bupar.net
    猜你喜欢
    • 2016-07-16
    • 2021-02-28
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 2022-12-02
    • 2020-09-28
    • 1970-01-01
    相关资源
    最近更新 更多