def round_described(described, decimals):
    """ For printing purposes the results should be rounded.
    This is done with this function and the desired number of
    decimals are passed per parameter as an argument.

    Parameters
    ----------
    described : DataFrame
        The DataFrame you want to print
    decimals : dict
        Keys are parameters (columns of the described DF) and values
        are the number of decimal places you want to see. 
    
    Returns
    -------
    DataFrame
        Rounded version of ``described``
    """

    for k, v in decimals.items():
        described = described.round(
            {
                (k, "mean"): v,
                (k, "std"): min(v + 1, 3),
                (k, "std%"): min(v + 1, 3),
                (k, "avg_dev"): v,
                (k, "min"): v,
                (k, "25%"): v,
                (k, "median"): v,
                (k, "75%"): v,
                (k, "max"): v,
            }
        )

    return described.round(
        {
            ("DENSITY", "percentage"): 1,
            ("DURATION", "in_hours"): 1,
            ("DURATION", "longest_in_hours"): 1,
            ("DURATION", "num_splits"): 0,
            ("num_breakdowns", "per_hour"): 2,
            ("REFILL", "index"): 0,
            ("REFILL", "delta_in_hours"): 1,
        }
    )