def share_percentage(df, columns):
    """
    This function shows the balance in each column of dataframe.
    For each column, it returns the list of unique values together with
    the percentange of each value in the dataset.
    """
    shares_cols = dict()
    
    nrowss = len(df)

    for col in columns:
        unq_vals = df[col].unique()
        shares = dict()
        for val in unq_vals:
            shares[val] = round(len(df[df[col] == val]) / nrowss * 100.0, 3)
            
        shares_cols[col] = shares

    return shares_cols