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.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, provided as a list of tuples where each tuple represents one time slot of business hours. One slot i.e. one tuple consists of one start and one end time given in seconds since week start, e.g. [

    (7 * 60 * 60, 17 * 60 * 60), ((24 + 7) * 60 * 60, (24 + 12) * 60 * 60), ((24 + 13) * 60 * 60, (24 + 17) * 60 * 60),

    ] meaning that business hours are Mondays 07:00 - 17:00 and Tuesdays 07:00 - 12:00 and 13:00 - 17:00 - Parameters.AGGREGATION_MEASURE => performance aggregation measure (sum, min, max, mean, median)

Returns:

Service time dictionary

Return type:

soj_time_dict