2016-12-15 10 views
1

既存のcsvファイルからマルチインデックスのpandasデータフレーム(最終的にcsvファイル)を作成しようとしています。 2次元以上のデータが含まれているため、データフレームを繰り返し処理するのは難しいです。これをどのように達成するのですか?元のCSVファイルには、次のようになります。マルチインデックスのcsvファイルからmulitindex pandasデータフレームを作成

"Products" "Technologies" Region1 Region2 Region3 
Prod1  Tech1   16  0  12 
Prod2  Tech2   0  12  22 
Prod3  Tech3   22  0  36 

そして、私はこのようになりますcsvファイルを作成するために探しています:

"Technologies" "Regions" Prod1 Prod2 Prod3 
Tech1   Region1  16  0  0 
Tech1   Region2  0  0  0 
Tech1   Region3  12  0  0 
Tech2   Region1  0  0  0 
Tech2   Region2  0  12  0 
Tech2   Region3  0  22  0 
Tech3   Region1  0  0  22 
Tech3   Region2  0  0  0 
Tech3   Region3  0  0  36 

答えて

0

stackunstackは、データフレームを再形成するための便利な機能、かつてのですまたcheck this tutorial、インデックスを行に列インデックスを変換し、後者は逆の処理を行います。

# transform regions to a separate column 
(df.set_index(["Products", "Technologies"]).stack() 

# rename the Region column and remove the name for Products column as it will be unstacked 
    .rename_axis(("", "Technologies", "Regions")) 

# unstack the product column to headers and reset the index to be columns 
    .unstack(level=0, fill_value=0).reset_index()) 

enter image description here

+0

ありがとう、Psidom! –

関連する問題