Вы можете создать pandas
MultiIndex
из произведения итераций, таких как кортежи:
df_multiindex = pd.MultiIndex.from_product(
(('Summer', 'Autumn', 'Winter', 'Spring'),
('Height', 'time_of_day', 'resolution'))
)
и назначить это MultiIndex
для columns
кадра данных:
df.columns = df_multiindex
Теперь вы можете индексировать свои данные с помощью:
df.Summer.resolution
# Out: [0.910549, 0.658917 ... ]
или эквивалентно с:
df[('Summer', 'resolution')]
# Out: [0.910549, 0.658917 ... ]
Или если вы хотите получить все данные 'Winter'
:
df['Winter'] # or with df.Winter
# Out: Height time_of_day resolution
1.260882 1.641892 1.208771
2.161238 1.494318 0.786127
1.307070 0.733333 0.830116
....
Если вы хотите изменить порядок MultiIndex, просто измените порядок передаваемых кортежей на pd.MultiIndex.from_product
и убедитесь, что порядок соответствует вашим данным.