pm4py.algo.filtering.pandas.activity_split.activity_split_filter module#
- class pm4py.algo.filtering.pandas.activity_split.activity_split_filter.Parameters(*values)[source]#
Bases:
Enum- ACTIVITY_KEY = 'pm4py:param:activity_key'#
- CASE_ID_KEY = 'pm4py:param:case_id_key'#
- SUBCASE_CONCAT_STR = 'subcase_concat_str'#
- CUT_MODE = 'cut_mode'#
- pm4py.algo.filtering.pandas.activity_split.activity_split_filter.apply(df: DataFrame, activity: str | List[str], parameters: Dict[str | Parameters, Any] | None = None) DataFrame[source]#
Splits the cases of a log (Pandas dataframe) into subcases based on the provision of an activity. There are as many subcases as many occurrences of a given activity occur.
Example: Original log:
[[‘register request’, ‘examine casually’, ‘check ticket’, ‘decide’, ‘reinitiate request’, ‘examine thoroughly’, ‘check ticket’, ‘decide’, ‘pay compensation’], [‘register request’, ‘examine casually’, ‘check ticket’, ‘decide’, ‘reinitiate request’, ‘check ticket’, ‘examine casually’, ‘decide’, ‘reinitiate request’, ‘examine casually’, ‘check ticket’, ‘decide’, ‘reject request’]]
Log filtered using the activity split filter on ‘reinitiate request’ with cut_mode=’this’:
[[‘register request’, ‘examine casually’, ‘check ticket’, ‘decide’], [‘reinitiate request’, ‘examine thoroughly’, ‘check ticket’, ‘decide’, ‘pay compensation’], [‘register request’, ‘examine casually’, ‘check ticket’, ‘decide’], [‘reinitiate request’, ‘check ticket’, ‘examine casually’, ‘decide’], [‘reinitiate request’, ‘examine casually’, ‘check ticket’, ‘decide’, ‘reject request’]]
Log filtered using the activity split filter on ‘reinitiate request’ with cut_mode=’next’:
[[‘register request’, ‘examine casually’, ‘check ticket’, ‘decide’, ‘reinitiate request’], [‘examine thoroughly’, ‘check ticket’, ‘decide’, ‘pay compensation’], [‘register request’, ‘examine casually’, ‘check ticket’, ‘decide’, ‘reinitiate request’], [‘check ticket’, ‘examine casually’, ‘decide’, ‘reinitiate request’], [‘examine casually’, ‘check ticket’, ‘decide’, ‘reject request’]]
- Parameters:
df – Dataframe
activity – Activity (or collection of activities)
parameters – Parameters of the algorithm, including: - Parameters.ACTIVITY_KEY => activity key - Parameters.CASE_ID_KEY => case id - Parameters.SUBCASE_CONCAT_STR => concatenator between the case id and the subtrace index in the filtered df - Parameters.CUT_MODE => mode of cut:
“this” means that an event with the specified activity goes to the next subcase
“next” means that the following event (to the given activity) goes to the next subcase.
- Returns:
Dataframe in which the cases are split into subcases
- Return type:
filtered_df