Skip to content

Commit

Permalink
Merge branch 'PMPY-2099' into 'integration'
Browse files Browse the repository at this point in the history
PMPY-2099 Bug fix Alpha Miner on Pandas dataframes

Closes PMPY-2099

See merge request process-mining/pm4py/pm4py-core!1000
  • Loading branch information
fit-daniel-schuster committed Jun 30, 2023
2 parents 0f5b566 + 65cf6ea commit 30932c4
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions pm4py/algo/discovery/alpha/algorithm.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from pm4py import util as pmutil
from pm4py.algo.discovery.alpha import variants
from pm4py.algo.discovery.dfg.adapters.pandas import df_statistics
from pm4py.statistics.start_activities.pandas import get as start_activities_get
from pm4py.statistics.end_activities.pandas import get as end_activities_get
from pm4py.objects.conversion.log import converter as log_conversion
from pm4py.util import exec_utils
from pm4py.util import xes_constants as xes_util
Expand Down Expand Up @@ -66,13 +68,14 @@ def apply(log: Union[EventLog, EventStream, pd.DataFrame], parameters: Optional[
None)
timestamp_key = exec_utils.get_param_value(Parameters.TIMESTAMP_KEY, parameters, xes_util.DEFAULT_TIMESTAMP_KEY)

if pkgutil.find_loader("pandas"):
import pandas
if isinstance(log, pandas.core.frame.DataFrame) and variant == ALPHA_VERSION_CLASSIC:
dfg = df_statistics.get_dfg_graph(log, case_id_glue=case_id_glue,
activity_key=activity_key,
timestamp_key=timestamp_key, start_timestamp_key=start_timestamp_key)
return exec_utils.get_variant(variant).apply_dfg(dfg, parameters=parameters)
if isinstance(log, pd.core.frame.DataFrame) and variant == ALPHA_VERSION_CLASSIC:
dfg = df_statistics.get_dfg_graph(log, case_id_glue=case_id_glue,
activity_key=activity_key,
timestamp_key=timestamp_key, start_timestamp_key=start_timestamp_key)
start_activities = start_activities_get.get_start_activities(log, parameters=parameters)
end_activities = end_activities_get.get_end_activities(log, parameters=parameters)
return exec_utils.get_variant(variant).apply_dfg_sa_ea(dfg, start_activities, end_activities, parameters=parameters)

return exec_utils.get_variant(variant).apply(log_conversion.apply(log, parameters, log_conversion.TO_EVENT_LOG),
parameters)

Expand Down

0 comments on commit 30932c4

Please sign in to comment.