from typing import OrderedDict


def get_distribution(result_df, column_name, num_iters):
    """Calculate the simulated distribution of column_name."""
    distrib = {}
    to_add = 1 / num_iters
    for val in result_df[column_name]:
        if val in distrib:
            distrib[val] += to_add
        else:
            distrib[val] = to_add

    ordered_dist = OrderedDict()
    keys = sorted(distrib.keys())
    for key in keys:
        ordered_dist[key] = distrib[key]

    return ordered_dist