def get_nsmallest_by_group(data_frame, field_list, top_n):
    """Calculates the least common value of a field combination by
    grouping the dataframe by a given list of fields, and calculating the
    smallest group.

    Args:
        data_frame (DataFrame): the Pandas DataFrame to group and analyze
        field_list (list): the list of fields to group by
        top_n (int) the number for the top n results of the smallest group

    Returns:
        DataFrame: The DataFrame containing the Top N result
    """
    return data_frame.groupby(field_list).size().nsmallest(top_n).reset_index(
        name='count')
    # ----------------------------------------------- get_nsmallest_by_group()