pm4py.algo.filtering.pandas.activity_split package#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
Submodules#
pm4py.algo.filtering.pandas.activity_split.activity_split_filter module#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.algo.filtering.pandas.activity_split.activity_split_filter.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[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#
- filtered_df
Dataframe in which the cases are split into subcases