from typing import List
import logging


def cols_to_keep(numeric_cols: List, encoder_cols: List):
    """
    Combines numerical columns  with encoder columns and subtract not needed columns (Churn and CLIENTNUM)
    input:
            numeric_cols: list of dataframe numeric columns
            encoder_cols: list of encoded categorical columns

    output:
             keep_cols: list of columns to keep for training X array
    """
    keep_cols = list(set(numeric_cols + encoder_cols) - {"Churn"} - {"CLIENTNUM"})
    logging.info("Defined columns to keep for X train dataframe")

    return keep_cols