def get_base_and_factors(df_base_prems, df_factors):
    """Combine Base Premium and Factors columns"""
    df_base_factors = df_base_prems.merge(
        df_factors,
        how='inner', left_index=True, right_index=True
    ).pipe(
        # Sort columns (uses 'Custom_order')
        lambda df: df[df.columns.sort_values()]
    )

    # Drop unwanted levels of the column MultiIndex
    df_base_factors.columns = df_base_factors.columns.get_level_values('Peril_Factor')
    return df_base_factors