Skip to content

Commit

Permalink
Merge branch 'PMPY-1679' into 'integration'
Browse files Browse the repository at this point in the history
PMPY-1679 Fix problem with empty OCEL definition (standard constructor)

See merge request process-mining/pm4py/pm4py-core!643
  • Loading branch information
fit-alessandro-berti committed Apr 22, 2022
2 parents c305796 + a0c8600 commit 58a763b
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions pm4py/objects/ocel/obj.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,9 @@ class Parameters(Enum):

class OCEL(object):
def __init__(self, events=None, objects=None, relations=None, globals=None, parameters=None):
if events is None:
events = pd.DataFrame()
if objects is None:
objects = pd.DataFrame()
if relations is None:
relations = pd.DataFrame()
if globals is None:
globals = {}
if parameters is None:
parameters = {}

self.events = events
self.objects = objects
self.relations = relations
self.globals = globals

self.event_id_column = exec_utils.get_param_value(Parameters.EVENT_ID, parameters, constants.DEFAULT_EVENT_ID)
self.object_id_column = exec_utils.get_param_value(Parameters.OBJECT_ID, parameters,
constants.DEFAULT_OBJECT_ID)
Expand All @@ -43,6 +30,22 @@ def __init__(self, events=None, objects=None, relations=None, globals=None, para
self.event_timestamp = exec_utils.get_param_value(Parameters.EVENT_TIMESTAMP, parameters,
constants.DEFAULT_EVENT_TIMESTAMP)

if events is None:
events = pd.DataFrame({self.event_id_column: [], self.event_activity: [], self.event_timestamp: []})
if objects is None:
objects = pd.DataFrame({self.object_id_column: [], self.object_type_column: []})
if relations is None:
relations = pd.DataFrame(
{self.event_id_column: [], self.event_activity: [], self.event_timestamp: [], self.object_id_column: [],
self.object_type_column: []})
if globals is None:
globals = {}

self.events = events
self.objects = objects
self.relations = relations
self.globals = globals

self.parameters = parameters

def get_extended_table(self, ot_prefix=constants.DEFAULT_OBJECT_TYPE_PREFIX_EXTENDED) -> pd.DataFrame:
Expand Down Expand Up @@ -73,7 +76,8 @@ def get_summary(self) -> str:
ret.append("\n")
ret.append("Activities occurrences: " + str(self.events[self.event_activity].value_counts().to_dict()))
ret.append("\n")
ret.append("Object types occurrences (number of objects): " + str(self.objects[self.object_type_column].value_counts().to_dict()))
ret.append("Object types occurrences (number of objects): " + str(
self.objects[self.object_type_column].value_counts().to_dict()))
ret.append("\n")
ret.append(
"Please use <THIS>.get_extended_table() to get a dataframe representation of the events related to the objects.")
Expand Down

0 comments on commit 58a763b

Please sign in to comment.