-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
30 lines (21 loc) · 959 Bytes
/
Copy pathmain.py
File metadata and controls
30 lines (21 loc) · 959 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from pathlib import Path
from src.load_event_log import load_xes_log, convert_to_dataframe
from src.inspect_log import summarize_columns, summarize_cases, summarize_activities
from src.process_summary import get_case_durations, get_activity_frequency, get_variants
DATA_PATH = Path("data/raw/PermitLog.xes")
def main():
print("Loading event log...")
log = load_xes_log(DATA_PATH)
df = convert_to_dataframe(log)
print(f"Loaded {len(df)} events across {df['case:concept:name'].nunique()} cases.\n")
print("--- Column Summary ---")
print(summarize_columns(df).to_string())
print("\n--- Case Summary ---")
for k, v in summarize_cases(df).items():
print(f" {k}: {v}")
print("\n--- Top 10 Activities ---")
print(get_activity_frequency(df).head(10).to_string(index=False))
print("\n--- Top 5 Variants ---")
print(get_variants(df).head(5).to_string(index=False))
if __name__ == "__main__":
main()