def value_counts_table(df,
                       feature_name):
    """

        Creates a value counts dataframe.

    Args:
        df:
            Pandas DataFrame object.

        feature_name:
            Specified feature column name.

    Returns:
        Returns back a pandas Dataframe object of a feature's value counts
        with percentages.
    """

    # Value counts DataFrame
    value_count_df = df[feature_name].value_counts().rename_axis(
        'Unique Values').reset_index(name='Counts')

    total_count = sum(df[feature_name].dropna().value_counts().values)
    value_count_df["Percantage"] = ["{0:.4f}%".format(count/total_count * 100)
                                    for value, count in
                                    df[feature_name].value_counts().items()]

    value_count_df.set_index('Unique Values',
                             inplace=True)

    return value_count_df