pm4py.statistics.process_cube.variants.classic module#

class pm4py.statistics.process_cube.variants.classic.Parameters(*values)[source]#

Bases: Enum

MAX_DIVISIONS_X = 'max_divisions_x'#
MAX_DIVISIONS_Y = 'max_divisions_y'#
AGGREGATION_FUNCTION = 'aggregation_function'#
pm4py.statistics.process_cube.variants.classic.apply(feature_table: DataFrame, x_col: str, y_col: str, agg_col: str, parameters: Dict[Any, Any] | None = None)[source]#

Constructs a process cube by slicing data along two dimensions (x_col, y_col) and aggregating a third (agg_col). Additionally:

  1. If x_col (or y_col) is an actual column in df, we do numeric binning. Otherwise, we do ‘prefix-based’ binning (include any column starting with x_col, and assign a row to that bin if >= 1).

  2. We return both the pivoted DataFrame and a dict associating each cell (x_bin, y_bin) -> set of case IDs.

Parameters:
  • feature_table (pd.DataFrame) – A feature table that must contain ‘case:concept:name’ and agg_col, plus the columns for x_col, y_col (if in numeric mode) or the columns that start with x_col, y_col (if in prefix mode).

  • x_col (str) – The X dimension. If x_col in df.columns, use numeric binning. Otherwise, treat it as a prefix for ‘prefix-based’ binning.

  • y_col (str) – The Y dimension. If y_col in df.columns, use numeric binning. Otherwise, treat it as a prefix for ‘prefix-based’ binning.

  • agg_col (str) – The column to aggregate (mean, sum, etc.).

  • parameters (Dict[Any, Any]) – Optional parameters of the method, including: * Parameters.MAX_DIVISIONS_X: If x_col is numeric, how many bins to divide it into. * Parameters.MAX_DIVISIONS_Y: If y_col is numeric, how many bins to divide it into. * Parameters.AGGREGATION_FUNCTION: The aggregation function, e.g., ‘mean’, ‘sum’, ‘min’, ‘max’.

Returns:

  • pivot_df (pd.DataFrame) – A pivoted DataFrame representing the process cube, with x bins as rows and y bins as columns, containing aggregated values of agg_col.

  • cell_case_dict (dict) – A dictionary mapping (x_bin, y_bin) -> set of case IDs that fall in that cell.