2017-08-06 1 views
0

複数階層の列とヘッダーでデータフレームを作成することはできますか?複数階層のデータフレームの作成 - 行と列

& Bがグループfoo &アップ/ダウン列名であり、そしてC & Dは、右/左のグループバー&行名で
 
    C bar bar 
    D left right 
A B   
foo up 1  2 

foo down 3  4 

:。このような

df.set_index(['A', 'B'])で列マルチインデックスを作成することはできますが、['C', 'D']の行を並べ替えることは困難です。

コンテキストはアンケート回答です(A =国、B =地域、 C =質問応答、D =優先。 C内には多くのグループが存在するため、グループごとに人口統計のサブセットを持つ行をグループ化する必要があります。コメント投稿リクエストあたり


追加CSVデータサンプル:

,,,,質問、12,12,12,12,12,13,13,13,13 ,,,,回答、トータル、ペルー、ペルー、エクアドル、エクアドル、ペルー、ペルー、エクアドル、エクアドル ,,,, 1,2,3,2,1,2,1,2,235,26,2,3,4,5,6,7,8,9,10,12,12,15,12,13,15,16 ,,,,,,,, ブラジル、ラテンアメリカ、Non-OECD、男性,, 249,7.20%、10.80%、12.00%、10.80%、15.70%、12.90%、12.00%、15.70% ブラジル、ラテンアメリカ、非OECD、女性、251,10.80%、10.00%、14.70%、15.50%、11.20%、13.10%、14.70%、11.20% ブラジル、ラテンアメリカ、非OECD、18-24、 、1 2.30%、10.30%、15.10%、15.10%、17.80%、16.40%、15.10%、17.80% ブラジル、ラテンアメリカ、非OECD、25-44,192,8.30%、13.00%、10.90%、13.50ブラジル、ラテンアメリカ、非OECD、45 + ,, 162,6.80%、7.40%、14.80%、11.10%、9.30%、9.30%、14.80%、13.50%、13.50%、13.50%、10.90%、13.50% 9.30% アルゼンチン、中南米、Non-OECD、男性,, 271,7.70%、6.30%、8.50%、15.10%、12.50%、14.00%、8.50%、12.50% アルゼンチン、ラテンアメリカ、非OECD、女性、229,6.60%、8.30%、8.70%、15.30%、15.70%、13.10%、8.70%、15.70% アルゼンチン、ラテンアメリカ、非OECD、18-24,140,​​8.60%、10.70% 、8.90%、22.10%、17.90%、10.70%、7.90%、17.90% 18.30%、7.20%、16.70% アルゼンチン、ラテンアメリカ、非OECD、45 + ,, 180.3.90%、5.60%、10.60%、8.30%、8.30%、11.10%、10.60%、8.30%

+0

サンプルアンケートの回答を追加できますか? – Dark

+0

@Bharathshetty私は元の質問に小さなスニペットをcsvとして追加しました。私が問題を抱えているのは、各列に複数段のヘッダーを配置し、行の複数段のインデックスを読み取ることができることです。それが可能かどうかはわかりません。代替案は、各回答を展開して通常のデータフレームを作成することです(つまり、すべてを国、地域、経済、人口統計、質問、回答、 >すべて自分の場所にあります)。 – jbachlombardo

答えて

0

試してみてください:

df.columns.levels[0].name = 'C' 
df.columns.levels[1].name = 'D' 
関連する問題