Мне нужно прочитать сложный Excel с многоиндексными столбцами. Мне нужно сделать некоторую обработку числа и записать файл.
Моя главная проблема в том, что панды не получают эту структуру столбцов. Я могу работать над чтением, но файл, который я пишу, выглядит плохо.
Это код, который я использую для чтения:
df = pd.read_excel('hed_test.xlsx',
header=[0],
index_col=[0,1,2,3],
sheet_name="Matrix")
df.head()
t1 Unnamed: 5
name Unnamed: 2 Unnamed: 3
NaN name NaN NaN 480.0 500
r1 r2 440.0 71.6 98
460.0 -9000.0 77
480.0 -9000.0 -9000
Я пробовал header = [0,1], но получаю ошибку. Закомментируя заголовок, вы получите тот же результат.
индекс и столбцы df:
df.index
MultiIndex(levels=[[], ['name', 'r1'], ['r2'], [440.0, 460.0, 480.0]],
labels=[[-1, -1, -1, -1], [0, 1, 1, 1], [-1, 0, 0, 0], [-1, 0, 1, 2]],
names=[None, 'name', 'Unnamed: 2', 'Unnamed: 3'])
df.columns
Index(['t1', 'Unnamed: 5'], dtype='object')
При записи файла, со следующим кодом:
df.to_excel("out.xlsx",
sheet_name='matrix')
Я получаю следующее превосходство.
Как я могу написать Excel из панд, который будет выглядеть как вход Excel?