2017-08-01 10 views
1

私はマルチインデックスの割り当てに問題があるとPythonのマルチインデックスの割り当て

の下に強調されているように値を格納するようになる私は、関数がデータフレームであると私は

print df_x 

serial P1  P2  P3 

5   21  32  35 
10  33  45  76 
15  65  99  563 

のようになります見えますdf_xと呼ばれていレベルについては、例えば

を以下のように格納するように[0]値のアルファ

df1 = pd.DataFrame(columns= df_x.columns) 

印刷DF1は、しかし、私は元df_xのデータフレーム上のマルチインデックスを作成するために苦労しています

print df1 


alpha serial 5  10 15 

     P1  21 33 65 

     P2  32 45 99 

     P3  35 76 563 

のようになりますように、それはDF1マルチインデックスを作成する必要があります

非常に役立つアプリです再発行された。

答えて

1

オプション0

pd.concat([df_x], keys=['alpha']) 

serial P1 P2 P3 
alpha 5 21 32 35 
     10 33 45 76 
     15 65 99 563 

オプション1

pd.DataFrame(
    df_x.values, 
    [['alpha'] * len(df_x), df_x.index], 
    df_x.columns 
) 

serial P1 P2 P3 
alpha 5 21 32 35 
     10 33 45 76 
     15 65 99 563 

オプション2

df_x.set_index(
    pd.MultiIndex.from_product(
     [['alpha'], df_x.index], names=[None, df_x.index.name] 
    ) 
) 

セットアップ

df_x = pd.DataFrame(**{ 
    'columns': pd.Index(['P1', 'P2', 'P3'], name='serial'), 
    'data': [[21, 32, 35], [33, 45, 76], [65, 99, 563]], 
    'index': [5, 10, 15]}) 
+1

グレート答えは....あなたの助けのためにどうもありがとうございました:) – user2560244

+0

あなたはクインタイルズと共同スキューの非常に歓迎 – piRSquared

+0

非常に素晴らしい記事です...素晴らしい仕事:) – user2560244