attributes = pd.unique(df.columns.get_level_values('attribute'))
colors = pd.unique(df.columns.get_level_values('color'))
for attr in attributes:
    pass
Добавить промежуточные столбцы в пандах с мультииндексом