pm4py.algo.filtering.pandas.timestamp_case_grouping.timestamp_case_grouping_filter module#

PM4Py – A Process Mining Library for Python Copyright (C) 2026 Process Intelligence Solutions GmbH

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.timestamp_case_grouping.timestamp_case_grouping_filter.Parameters(*values)[source]#

Bases: Enum

CASE_ID_KEY = 'pm4py:param:case_id_key'#
ACTIVITY_KEY = 'pm4py:param:activity_key'#
TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
FILTER_TYPE = 'filter_type'#
pm4py.algo.filtering.pandas.timestamp_case_grouping.timestamp_case_grouping_filter.apply(log_obj: EventLog | EventStream | DataFrame, parameters: Dict[Any, Any] | None = None) → DataFrame[source]#

Groups the events of the same case happening at the same timestamp, providing option to keep the first event of each group, keep the last event of each group, create an event having as activity the concatenation of the activities happening in the group

Parameters:
  • log_obj – Log object (EventLog, EventStream, Pandas dataframe)

  • parameters – Parameters of the algorithm, including:

    • Parameters.CASE_ID_KEY => the case identifier to be used

    • Parameters.ACTIVITY_KEY => the attribute to be used as activity

    • Parameters.TIMESTAMP_KEY => the attribute to be used as timestamp

    • Parameters.FILTER_TYPE => the type of filter to be applied:
      • first => keeps the first event of each group

      • last => keeps the last event of each group

      • concat => creates an event having as activity the concatenation of the activities happening in the group

Returns:

Filtered dataframe object

Return type:

filtered_dataframe