Spaces:
Sleeping
Sleeping
import pandas as pd | |
from datetime import datetime | |
def encode_payment_mode(mode): | |
return {"Annual": 0, "Semi-Annual": 1, "Quarterly": 2, "Monthly": 3}.get(mode, -1) | |
def calculate_months_since(date_str): | |
try: | |
delta = datetime.now() - datetime.strptime(date_str, "%Y-%m-%d") | |
return delta.days // 30 | |
except: | |
return 0 | |
def preprocess_input(data): | |
return pd.DataFrame([{ | |
"months_since_last_payment": calculate_months_since(data["last_premium_paid_date"]), | |
"payment_mode_encoded": encode_payment_mode(data["payment_mode"]), | |
"policy_term": data["policy_term"], | |
"policy_age": data["policy_age"] | |
}]) | |
def preprocess_dataframe(df): | |
df["months_since_last_payment"] = df["last_premium_paid_date"].apply(calculate_months_since) | |
df["payment_mode_encoded"] = df["payment_mode"].apply(encode_payment_mode) | |
X = df[["months_since_last_payment", "payment_mode_encoded", "policy_term", "policy_age"]] | |
y = df["risk"] | |
return X, y | |