将行值更改为多索引

changing row values into multi index

考虑这个示例数据:

          mem   Admits  AdmPerK
Month           
JAN        1       2    3
FEB        4       5    6

我认为,我正在尝试引入多索引并创建此结果:

          JAN                       FEB
<index>   mem   Admits  AdmPerK     mem Admits  AdmPerK    
                
    0     1      2       3          4     5      6

尝试了以下方法;

df.columns = pd.MultiIndex.from_tuples(df.columns) 
df.T

其他几次转换尝试都没有奏效。感谢您抽出宝贵时间查看此内容。

您可以通过链接 stackto_frameT(用于转置)来完成这项工作。要为最终索引指定特定名称,请使用 to_frame 中的参数 name。举例

#input data
df = pd.DataFrame({'Month': ['JAN', 'FEB'], 'mem': [1, 4], 
                   'Admits': [2, 5], 'AdmPerK': [3, 6]})
df = df.set_index('Month')
print(df)
#        mem  Admits  AdmPerK
# Month                      
# JAN      1       2        3
# FEB      4       5        6

#reshape
res = df.stack().to_frame(name='whatyouwant').T
print(res)
Month       JAN                FEB               
            mem Admits AdmPerK mem Admits AdmPerK
whatyouwant   1      2       3   4      5       6