DEV Community

Developer213
Developer213

Posted on • Edited on

Tesr



def status_logic(agency, packages):
    print("Preparing actuals with ISSUE_IND and STATUS...")
    print(f"Initial columns: {list(agency.columns)}")
    print(f"Initial shape: {agency.shape}")

    # Ensure ISSUE_IND exists
    if 'ISSUE_IND' not in agency.columns:
        agency['ISSUE_IND'] = 0
        print("ISSUE_IND column was missing — created with default value 0.")

    # If ISSUE_IND is a DataFrame with multiple columns, pick the first one
    if not isinstance(agency['ISSUE_IND'], pd.Series):
        print("ISSUE_IND appears to have multiple columns — taking the first one.")
        agency['ISSUE_IND'] = agency['ISSUE_IND'].iloc[:, 0]

    # Fill NaNs and convert to int
    agency['ISSUE_IND'] = pd.to_numeric(agency['ISSUE_IND'], errors='coerce').fillna(0).astype(int)

    print(f"Unique values in ISSUE_IND after cleaning: {agency['ISSUE_IND'].unique()}")

    # Ensure STATUS is created from ISSUE_IND safely
    agency['STATUS'] = agency['ISSUE_IND'].astype(int)
    print(f"STATUS column created. Unique values: {agency['STATUS'].unique()}")

    print(f"Final columns: {list(agency.columns)}")
    print(f"Final shape: {agency.shape}")

    print("Returning cleaned actuals data with STATUS...")
    return agency
Enter fullscreen mode Exit fullscreen mode

Top comments (0)