pm4py.algo.filtering.log.timestamp package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Submodules#

pm4py.algo.filtering.log.timestamp.timestamp_filter module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.filtering.log.timestamp.timestamp_filter.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
pm4py.algo.filtering.log.timestamp.timestamp_filter.trace_attr_is_contained(trace: Trace, dt1: str | datetime, dt2: str | datetime, trace_attr: str) bool[source]#

Checks if the given attribute at the trace level is contained in the provided range

Parameters#

trace

Trace object

dt1

Left extreme of the time interval

dt2

Right extreme of the time interval

trace_attr

Attribute at the trace level that is considered for the filtering

Returns#

boolean

Boolean value

pm4py.algo.filtering.log.timestamp.timestamp_filter.filter_on_trace_attribute(log: EventLog, dt1: str | datetime, dt2: str | datetime, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#

Filters the traces of the event log that have a given trace attribute falling in the provided range

Parameters#

log

Event log

dt1

Left extreme of the time interval

dt2

Right extreme of the time interval

parameters

Parameters of the filtering, including: - Parameters.TIMESTAMP_KEY => trace attribute to use for the filtering

Returns#

filtered_log

Filtered event log

pm4py.algo.filtering.log.timestamp.timestamp_filter.is_contained(trace, dt1, dt2, timestamp_key)[source]#

Check if a trace is contained in the given interval

Parameters#

trace

Trace to check

dt1

Lower bound to the interval

dt2

Upper bound to the interval

timestamp_key

Timestamp attribute

Returns#

boolean

Is true if the trace is contained

pm4py.algo.filtering.log.timestamp.timestamp_filter.filter_traces_contained(log: EventLog, dt1: str | datetime, dt2: str | datetime, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#

Get traces that are contained in the given interval

Parameters#

log

Trace log

dt1

Lower bound to the interval

dt2

Upper bound to the interval

parameters
Possible parameters of the algorithm, including:

Parameters.TIMESTAMP_KEY -> Attribute to use as timestamp

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.timestamp.timestamp_filter.is_intersecting(trace, dt1, dt2, timestamp_key)[source]#

Check if a trace is intersecting in the given interval

Parameters#

trace

Trace to check

dt1

Lower bound to the interval

dt2

Upper bound to the interval

timestamp_key

Timestamp attribute

Returns#

boolean

Is true if the trace is contained

pm4py.algo.filtering.log.timestamp.timestamp_filter.filter_traces_intersecting(log: EventLog, dt1: str | datetime, dt2: str | datetime, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#

Filter traces intersecting the given interval

Parameters#

log

Trace log

dt1

Lower bound to the interval

dt2

Upper bound to the interval

parameters
Possible parameters of the algorithm, including:

Parameters.TIMESTAMP_KEY -> Attribute to use as timestamp

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.timestamp.timestamp_filter.apply_events(log: EventLog, dt1: str | datetime, dt2: str | datetime, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#

Get a new log containing all the events contained in the given interval

Parameters#

log

Log

dt1

Lower bound to the interval

dt2

Upper bound to the interval

parameters
Possible parameters of the algorithm, including:

Parameters.TIMESTAMP_KEY -> Attribute to use as timestamp

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.timestamp.timestamp_filter.has_attribute_in_timeframe(trace, attribute, attribute_value, dt1, dt2, timestamp_key)[source]#
pm4py.algo.filtering.log.timestamp.timestamp_filter.filter_traces_attribute_in_timeframe(log: EventLog, attribute: str, attribute_value: Any, dt1: str | datetime, dt2: str | datetime, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#

Get a new log containing all the traces that have an event in the given interval with the specified attribute value

Parameters#

log

Log

attribute

The attribute to filter on

attribute_value

The attribute value to filter on

dt1

Lower bound to the interval

dt2

Upper bound to the interval

parameters
Possible parameters of the algorithm, including:

Parameters.TIMESTAMP_KEY -> Attribute to use as timestamp

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.timestamp.timestamp_filter.apply(df, parameters=None)[source]#
pm4py.algo.filtering.log.timestamp.timestamp_filter.apply_auto_filter(df, parameters=None)[source]#