2016-11-13 6 views
1

名前が列レベルにアタッチされたマルチインデックスデータフレームがあります。 (DF1)私は、彼らが参照データフレーム(DF2)の行のインデックスで指定された順序と一致するように周りに列をシャッフルしたいReorder参照に基づくマルチインデックスデータフレーム列

     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 

データテーブルは次のようになります結果すなわち
 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

reindex_axisは、他のデータフレームからラベルを使用し、軸を再インデックスして特定のレベルにするように指定しましょう:

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

ありがとう!出来た。私はちょうどわずかな変更を加えました: 'df1.reindex_axis(df2.index、axis = 1、level = 1)' – GB7

関連する問題