Как сохранить мультииндекс pandas между to_excel () и read_excel ()?

Согласно документации pandas для read_excel , я могу поместить имена столбцов индекса в отдельную строку, а затем метод будет использовать столбцы в качестве индексов.

Я хочу создать файл Excel из мультииндексированного фреймворка данных, который может быть прочитан как таковой, но я не могу понять, как заставить pandas писать to_excel таким образом, чтобы эта дополнительная строка была создана (из мульти- индексированный фрейм данных).

Я не могу себе представить, что хранение многоиндексированного фрейма данных в виде листа Excel и последующее его повторное использование в дальнейшем – это необычный вариант использования, поэтому мне интересно, не понял ли я, как это сделать.

Вот пример фрейма данных, который я хотел бы «заморозить» в Excel, прежде чем читать обратно, не указывая read_excel, столбцы которого являются индексами:

ipdb> my_df Date Amount Rec Section Row 0 Top Section 2 2015-05-01 -105.00 1 Middle Section 3 2015-05-04 90247.60 2 Middle Section 4 2015-05-05 -2992.99 3 Bottom Section 5 2015-05-08 -800.00 

В моем примере есть три столбца индекса: Rec, Section и Row.

Когда я пишу это в Excel, а затем читаю его обратно, я не хочу говорить об этом. Поскольку read_excel, похоже, имеет метод, который указывает имена индексов, когда они появляются в отдельной строке, я хочу, чтобы он просто понял это (если я правильно напишу файл Excel).

Что мне не хватает?

Я столкнулся с той же проблемой при попытке написать сводную таблицу в Excel. Мне удалось заставить это работать, изменив файл frame.py файле ../pandas/core . Изменение, if self.columns.nlevels > 1 if self.columns.nlevels > 1 and not index получил мне то, что мне было нужно.

Поскольку эта функциональность по-прежнему не поддерживается Pandas , вы все равно можете столкнуться с забавным выходом. Кроме того, это, вероятно, не решит проблему для read_excel . Надеюсь, это поможет немного!

Я упомянул «onesandzeros» в своем комментарии GitHub .