Source code for pm4py.algo.organizational_mining.network_analysis.algorithm

from pm4py.algo.organizational_mining.network_analysis.variants import (
    dataframe,
)
from enum import Enum
from pm4py.util import exec_utils
from typing import Dict, Optional, Any, Tuple, Union
import pandas as pd
from pm4py.objects.log.obj import EventLog, EventStream
from pm4py.objects.conversion.log import converter as log_converter


[docs] class Variants(Enum): DATAFRAME = dataframe
[docs] def apply( log: Union[pd.DataFrame, EventLog, EventStream], variant=Variants.DATAFRAME, parameters: Optional[Dict[Any, Any]] = None, ) -> Dict[Tuple[str, str], Dict[str, Any]]: """ Performs the network analysis on the provided event log Parameters ---------------- log Event log parameters Version-specific parameters Returns ---------------- network_analysis Edges of the network analysis (first key: edge; second key: type; value: number of occurrences) """ return exec_utils.get_variant(variant).apply( log_converter.apply( log, variant=log_converter.Variants.TO_DATA_FRAME, parameters=parameters, ), parameters=parameters, )