Example #1
0
def create_index_template(midx: pd.MultiIndex, data_type: str):

    # if "res" in data_type:

    # Flatten the multiindex to tuples
    template = list(midx.to_flat_index().unique())
    template = [dict.fromkeys(_tuple) for _tuple in template]
    template = [list(d.keys()) for d in template]

    single_index_values = []

    # Extract from tuples
    for _tuple in template:

        # Get rid of level values "Gesamt"
        if _tuple[-1] == "Gesamt":

            if len(_tuple) >= 2:
                single_index_values.append(_tuple[-2])

            else:
                single_index_values.append(_tuple[-1])
        else:
            single_index_values.append(_tuple[-1])

    template = pd.Index(single_index_values)

    return template