将标题旋转为行

时间:2019-03-19 16:33:48

标签: python pandas

我有一个带有2行作为标题的excel文件,如下所示:

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

如果我用熊猫读取了此文件,该怎么做才能使其看起来像这样?

enter image description here

1 个答案:

答案 0 :(得分:0)

这是这样做的方法:

Select-Object
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)