def format_firenzecard_properties(
        museums,
        id_col_name="museum_id",
        visitors_col_name="visitors"
):
    """
    Converts the format of additional museum properties from being in a
    DataFrame to being in a dictionary indexed by the museum node id

    Args:
        museums (Pandas.DataFrame): DataFrame with column with museum id and
            corresponding number of visitors at that museum node
        id_col_name (string): Name of the museums DataFrame column for node id
        visitors_col_name (string): Name of the museums DataFrame column for
            number of visitors.

    Returns:
        (dict): object with a key for each museum node id and a value that is an
            object with value for number of state and national museum visitors,
            aka total visitors, to that museum.
    """

    props = {}
    ids = museums[id_col_name].unique()

    for museum_id in ids:
        museum_id = str(int(museum_id))
        museums[id_col_name] = museums[id_col_name].apply(str)
        first_match = museums[museums[id_col_name] == museum_id].head(1)

        total_visits = None
        if not first_match.empty:
            total_visits = first_match[visitors_col_name].iloc[0]

        props[str(museum_id)] = {'totalVisits': total_visits}

    return props