From 13d91d566ba87755b995488d229b6198189e9b1e Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Mon, 13 Jul 2026 20:06:45 +0200 Subject: [PATCH] Move to subfolder - Makes python recognize it as a submodule --- stat/utils/extractor.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 stat/utils/extractor.py diff --git a/stat/utils/extractor.py b/stat/utils/extractor.py new file mode 100644 index 0000000..a5dd172 --- /dev/null +++ b/stat/utils/extractor.py @@ -0,0 +1,23 @@ +import json +from pathlib import Path +import pandas as pd + +def extract_id(row: pd.Series) -> str: + """Extracts PGN from metadata or falls back to CAN ID.""" + meta = row.get('j1939_metadata') + if pd.isna(meta): + return f"ID: {row['ID']}" + if isinstance(meta, str): + try: + meta = json.loads(meta) + except json.JSONDecodeError: + return f"ID: {row['ID']}" + if isinstance(meta, dict) and 'PGN' in meta: + return f"PGN: {meta['PGN']}" + return f"ID: {row['ID']}" + +def load_data(file_path: Path) -> pd.DataFrame: + """Loads Parquet file and adds an Identifier column.""" + df = pd.read_parquet(file_path) + df['Identifier'] = df.apply(extract_id, axis=1) + return df