def map_types(columns_types: dict) -> dict:
    """Convert Pandas dtypes to Redshift data types.

    Args:
        cols_types: The return value of `dict(df.dtypes)`, where `df` is a Pandas Dataframe.

    Returns:
        dict: A `dict` of `{original column name: mapped redshift data type}`
    """
    PANDAS_REDSHIFT_TYPES_MAP = {
        "O": "varchar(256)",
        "object": "varchar(256)",
        "int64": "bigint",
        "float64": "double precision",
        "boolean": "boolean",
    }
    return {
        c: {"data_type": PANDAS_REDSHIFT_TYPES_MAP.get(t.name)}
        if PANDAS_REDSHIFT_TYPES_MAP.get(t.name) is not None
        else {"data_type": "varchar(256)"}
        for c, t in columns_types.items()
    }