From 9ddc6ea0d5b457f12e03e62e5fbb78afb94ef48b Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Mon, 13 Jul 2026 22:16:56 +0200 Subject: [PATCH] Use utility function instead of internal --- stat/correlation.py | 16 ++-------------- stat/entropy.py | 16 ++-------------- 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/stat/correlation.py b/stat/correlation.py index dc81132..4d0f70c 100644 --- a/stat/correlation.py +++ b/stat/correlation.py @@ -10,19 +10,7 @@ import pandas as pd import plotly.graph_objects as go from utils.extractor import load_data - - -def _to_int(x): - """Convert a hex string or integer to int, returning NaN on failure.""" - if isinstance(x, (int, np.integer)): - return int(x) - if isinstance(x, str): - try: - return int(x, 16) - except ValueError: - return np.nan - return np.nan - +from utils.extractor import to_int def calculate_correlation(df: pd.DataFrame, method: str, target_id: str | None = None) -> pd.DataFrame: """Calculates inter-byte correlation grouped by identifier.""" @@ -34,7 +22,7 @@ def calculate_correlation(df: pd.DataFrame, method: str, target_id: str | None = df_bytes = df[["Identifier"] + available_cols].copy() for col in available_cols: - df_bytes[col] = df_bytes[col].apply(_to_int) + df_bytes[col] = df_bytes[col].apply(to_int) if target_id: group = df_bytes[df_bytes["Identifier"] == target_id] diff --git a/stat/entropy.py b/stat/entropy.py index ac19a22..ca314ea 100644 --- a/stat/entropy.py +++ b/stat/entropy.py @@ -10,19 +10,7 @@ import pandas as pd import plotly.graph_objects as go from utils.extractor import load_data - - -def _to_int(x): - """Convert a hex string or integer to int, returning NaN on failure.""" - if isinstance(x, (int, np.integer)): - return int(x) - if isinstance(x, str): - try: - return int(x, 16) - except ValueError: - return np.nan - return np.nan - +from utils.extractor import to_int def calculate_byte_entropy(df: pd.DataFrame) -> pd.DataFrame: """Calculates Shannon entropy per byte position for each identifier.""" @@ -33,7 +21,7 @@ def calculate_byte_entropy(df: pd.DataFrame) -> pd.DataFrame: df_bytes = df[available_cols].copy() for col in available_cols: - df_bytes[col] = df_bytes[col].apply(_to_int) + df_bytes[col] = df_bytes[col].apply(to_int) def entropy(s: pd.Series) -> float: s = s.dropna()