def get_variants(log: Union[EventLog, pd.DataFrame]) -> Dict[str, List[Trace]]: """ Gets the variants from the log Parameters -------------- log Event log Returns -------------- variants Dictionary of variants along with their count """ import pm4py if pm4py.util.variants_util.VARIANT_SPECIFICATION == pm4py.util.variants_util.VariantsSpecifications.STRING: import warnings warnings.warn('pm4py.get_variants is deprecated. Please use pm4py.get_variants_as_tuples instead.') if pm4py.util.variants_util.VARIANT_SPECIFICATION == pm4py.util.variants_util.VariantsSpecifications.LIST: raise Exception('Please use pm4py.get_variants_as_tuples') if check_is_dataframe(log): check_dataframe_columns(log) from pm4py.statistics.variants.pandas import get return get.get_variants_count(log) else: from pm4py.statistics.variants.log import get return get.get_variants(log)
def get_variants_as_tuples(log: Union[EventLog, pd.DataFrame]) -> Dict[Tuple[str], List[Trace]]: """ Gets the variants from the log (where the keys are tuples and not strings) Parameters -------------- log Event log Returns -------------- variants Dictionary of variants along with their count """ import pm4py # the behavior of PM4Py is changed to allow this to work pm4py.util.variants_util.VARIANT_SPECIFICATION = pm4py.util.variants_util.VariantsSpecifications.LIST if check_is_dataframe(log): check_dataframe_columns(log) from pm4py.statistics.variants.pandas import get return get.get_variants_count(log) else: from pm4py.statistics.variants.log import get return get.get_variants(log)
def get_variants_as_tuples(log: Union[EventLog, pd.DataFrame]) -> Dict[Tuple[str], List[Trace]]: """ Gets the variants from the log (where the keys are tuples and not strings) Parameters -------------- log Event log Returns -------------- variants Dictionary of variants along with their count """ if type(log) not in [pd.DataFrame, EventLog, EventStream]: raise Exception("the method can be applied only to a traditional event log!") import pm4py # the behavior of PM4Py is changed to allow this to work pm4py.util.variants_util.VARIANT_SPECIFICATION = pm4py.util.variants_util.VariantsSpecifications.LIST if check_is_pandas_dataframe(log): check_pandas_dataframe_columns(log) from pm4py.statistics.variants.pandas import get return get.get_variants_count(log, parameters=get_properties(log)) else: from pm4py.statistics.variants.log import get return get.get_variants(log, parameters=get_properties(log))
def get_variants(log): """ Gets the variants from the log Parameters -------------- log Event log Returns -------------- variants Dictionary of variants along with their count """ if check_is_dataframe(log): check_dataframe_columns(log) from pm4py.statistics.variants.pandas import get return get.get_variants_count(log) else: from pm4py.statistics.variants.log import get return get.get_variants(log)