def get_agg_funcs(func):
    """Helper method used to create a mapping of the aggregation functions with their columns.

    Parameters
    ----------
    functions: dict of str:Callable or Callable
        Single Callable that aggregates on the entire df or a dict of callables
        where the keys are column names and the values are the functions for the respective column
    Returns
    -------
        dict
    """
    if not isinstance(func, dict) and callable(func):
        name = getattr(func, '__name__', repr(func))
        function = {name: func}
    elif isinstance(func, dict):
        function = func
    else:
        raise TypeError("aggregate function: {} not acceptable.".format(getattr(func, '__name__', repr(func))))

    return function