сводные заголовки в строки

#python #pandas

#python #pandas

Вопрос:

У меня есть файл Excel с 2 строками в качестве заголовков, который выглядит следующим образом:

           Day1          Day2        
             X    Y   Z    X   Y   Z
product1   10   12   5   18  22   6
product2    9  100  88  123   4  56
  

Если я прочитаю этот файл с помощью pandas, что я могу сделать, чтобы он выглядел следующим образом?

введите описание изображения здесь

Комментарии:

1. можете ли вы предоставить данные не в виде изображения? С этим будет проще работать

Ответ №1:

Вот как это сделать:

 df = pd.read_excel('data_to_pivot.xlsx', index_col=0, header=[0,1])
print(df)
  
           Day1          Day2        
             X    Y   Z    X   Y   Z
product1   10   12   5   18  22   6
product2    9  100  88  123   4  56
  
 df = df.unstack().reset_index()
df = df.rename(columns={'level_0': 'Day'})
df.Day = df.Day.str.replace('Day', '')

df = df.pivot_table(0, ['level_2', 'Day'], 'level_1')
df = df.reset_index(level=1)
df.index.name = None
df.columns.name = None
print(df)
  
           Day    X    Y   Z
product1   1   10   12   5
product1   2   18   22   6
product2   1    9  100  88
product2   2  123    4  56