pm4py.statistics.service_time.pandas.get module#

class pm4py.statistics.service_time.pandas.get.Parameters(*values)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
START_TIMESTAMP_KEY = 'pm4py:param:start_timestamp_key'#
TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
AGGREGATION_MEASURE = 'aggregationMeasure'#
BUSINESS_HOURS = 'business_hours'#
BUSINESS_HOUR_SLOTS = 'business_hour_slots'#
WORKCALENDAR = 'workcalendar'#
pm4py.statistics.service_time.pandas.get.apply(dataframe: DataFrame, parameters: Dict[str | Parameters, Any] | None = None) Dict[str, float][source]#

Gets the service time per activity on a Pandas dataframe.

Parameters:
  • dataframe – Pandas dataframe

  • parameters – Parameters of the algorithm, including:

    • Parameters.ACTIVITY_KEY => activity key

    • Parameters.START_TIMESTAMP_KEY => start timestamp key

    • Parameters.TIMESTAMP_KEY => timestamp key

    • Parameters.AGGREGATION_MEASURE => performance aggregation measure (sum, min, max, mean, median)

    • Parameters.BUSINESS_HOURS => calculates the difference of time based on the business hours, not the total time. Default: False

    • Parameters.BUSINESS_HOURS_SLOTS => work schedule of the company. The following list defines that business hours are Mondays 07:00 - 17:00 and Tuesdays 07:00 - 12:00 and 13:00 - 17:00:

      [
          (7 * 60 * 60, 17 * 60 * 60),
          ((24 + 7) * 60 * 60, (24 + 12) * 60 * 60),
          ((24 + 13) * 60 * 60, (24 + 17) * 60 * 60),
      ]
      
Returns:

Service time dictionary

Return type:

soj_time_dict