def METHOD_NAME(df: pd.DataFrame, country_std: str) -> pd.DataFrame:
    # Unpivot
    df = df.reset_index()
    df = df.melt(COLUMNNS_ID.keys(), COLUMNS_METRICS.keys(), "metric", "value")
    # Add columns, rename columns
    df = df.rename(columns=COLUMNNS_ID)
    df = df.assign(
        # metric=df_4.metric.map({k: v["name"] for k, v in columns_metrics.items()}),
        sex=df.metric.map({k: v["sex"] for k, v in COLUMNS_METRICS.items()}),
        age=df.metric.map({k: v["age"] for k, v in COLUMNS_METRICS.items()}),
        variant=df.variant.apply(lambda x: x.lower()),
        location=df.location.map(country_std),
    )
    # Dtypes
    df = optimize_dtypes(df, simple=True)
    # Scale units
    ops = {k: v.get("operation", lambda x: x) for k, v in COLUMNS_METRICS.items()}
    for m in df.metric.unique():
        df.loc[df.metric == m, "value"] = ops[m](df.loc[df.metric == m, "value"])
    # Metric name
    df = df.assign(metric=df.metric.map({k: v["name"] for k, v in COLUMNS_METRICS.items()}))
    # Column order
    df = df[COLUMNS_ORDER]
    # Discard unmapped regions
    df = df.dropna(subset=["location"])
    # dtypes
    df = optimize_dtypes(df)
    return df