@ cᴏʟᴅsᴘᴇᴇᴅ Я так не думаю, иногда лучше ссылаться на уровень по имени, что позволяет get_level_values (так что я привык его писать).
вая образец MultiIndex:
idx = pd.MultiIndex.from_product([[0, 1, 2], ['a', 'b', 'c', 'd']])
df = pd.DataFrame({'value' : np.arange(12)}, index=idx)
df
value
0 a 0
b 1
c 2
d 3
1 a 4
b 5
c 6
d 7
2 a 8
b 9
c 10
d 11
Как я могу эффективно преобразовать это в табличный формат, как это?
a b c d
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
Кроме того, учитывая приведенный выше кадр данных, как я могу вернуть его в исходное многоиндексированное состояние?
Что я пробовал:
pd.DataFrame(df.values.reshape(-1, df.index.levels[1].size),
index=df.index.levels[0], columns=df.index.levels[1])
Который работает для первой проблемы, но я не уверен, как оттуда вернуть его к оригиналу.