根据引用重新排序多索引数据帧列

时间:2016-11-13 04:46:20

标签: python python-2.7 pandas dataframe multi-index

我有一个多索引数据框,其名称附加到列级别。 数据表看起来像这样: (DF1)

                        TIME                    
         TMC    111N1   111P2   111N3   111P4   
DATE    EPOCH                   
          0     143     113      103    NaN 
          1     183     NaN      NaN    NaN 
          2     NaN     NaN      NaN    NaN 
          3     143     NaN      NaN    NaN 

我希望对列进行随机播放,使它们与参考数据帧(df2)的行索引指定的顺序相匹配:

        A1  A2  A3    A4    A5
 Name                                                                               
 111N3  PA  PL  er  0.75543 35
 111P4  PA  PL  er  0.09413 35
 111N1  PA  PL  er  4.21557 35
 111P2  PA  PL  er  1.31989 35

即。结果应该是(df3):

                        TIME                    
         TMC    111N3   111P4   111N1   111P2   
DATE    EPOCH                   
          0     103     NaN      143    113 
          1     NaN     NaN      183    NaN 
          2     NaN     NaN      NaN    NaN 
          3     NaN     NaN      143    NaN 

1 个答案:

答案 0 :(得分:1)

reindex_axis将使用其他数据框中的标签,并让您将轴指定为重新索引以及特定级别:

df1.reindex_axis(df2.index, axis=1, level=1)