pm4py.algo.filtering.pandas.rework.rework_filter module#

class pm4py.algo.filtering.pandas.rework.rework_filter.Parameters(*values)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
MIN_OCCURRENCES = 'min_occurrences'#
POSITIVE = 'positive'#
pm4py.algo.filtering.pandas.rework.rework_filter.apply(df0: DataFrame, activity: str, parameters: Dict[Any, Any] | None = None) DataFrame[source]#

Applies the rework filter on the provided dataframe and activity. This filter the cases of the log having at least Parameters.MIN_OCCURRENCES (default: 2) occurrences of the given activity.

It is also possible (setting Parameters.POSITIVE to False) to retrieve the cases of the log not having the given activity or having the activity occurred less than Parameters.MIN_OCCURRENCES times.

Parameters:
  • df0 – Dataframe

  • activity – Activity of which the rework shall be filtered

  • parameters – Parameters of the filter, including:

    • Parameters.ACTIVITY_KEY => the attribute to use as activity

    • Parameters.CASE_ID_KEY => the attribute to use as case ID

    • Parameters.MIN_OCCURRENCES => the minimum number of occurrences for the activity

    • Parameters.POSITIVE => if True, filters the cases of the log having at least MIN_OCCURRENCES occurrences. If False, filters the cases of the log where such behavior does not occur.

Returns:

Filtered dataframe

Return type:

filtered_df