# -*- coding: utf-8 -*-
"""
Created on Fri Oct  3 11:46:00 2025

@author: Moritz Romeike
"""

# ------------------------------------------------------------------------
# Programmcode 03 (Python): Fehlende Werte ggf. per Median ersetzen
# ------------------------------------------------------------------------
import pandas as pd
from pathlib import Path

# Skript-Ordner automatisch bestimmen
base_path = Path(__file__).resolve().parent

# Ein-/Ausgabedateien
data_path = base_path / "Kap_2.2_Risk_Management_Data.xlsx"
new_data_path = base_path / "Kap_2.2_Risk_Management_Data_Imputed.xlsx"

# Daten laden
data = pd.read_excel(data_path)

# Anzahl fehlender Werte prüfen
total_missing = data.isna().sum().sum()

if total_missing > 0:
    print(f"Es wurden {total_missing} fehlende Werte gefunden, die ersetzt werden.")

    # Nur numerische Spalten auswählen
    num_cols = data.select_dtypes(include=["number"]).columns

    # Median-Imputation (wie in deinem R-Code)
    medians = data[num_cols].median(numeric_only=True)
    data[num_cols] = data[num_cols].fillna(medians)

    # Datei speichern
    data.to_excel(new_data_path, index=False)
    print(f"Daten erfolgreich gespeichert in: {new_data_path}")
else:
    print("Keine fehlenden Werte gefunden. Keine Ersetzung erforderlich.")
# ------------------------------------------------------------------------

