2017-08-06 73 views
0

是否可以使用多層列和標題創建數據框?像這樣:創建多層數據框 - 行和列

 
    C bar bar 
    D left right 
A B   
foo up 1  2 

foo down 3  4 

其中A & B是列名組FOO &上升/下降,和C & d是行名字該組杆&左/右。

我可以創建列多指標沒有問題df.set_index(['A', 'B']),但然後獲得['C', 'D']跨行排序證明是困難的。

上下文是調查的答覆,其中A =國家,B =區域; C =問題答案,D =偏好。 C中有許多組,因此能夠在每行中爲每組人羣分組是必要的。每個評論者要求


添加CSV數據樣本:

,,,,問題,12,12,12,12,12,13,13,13,13 ,,,,回答,總,祕魯,祕魯,厄瓜多爾,厄瓜多爾,祕魯,祕魯,厄瓜多爾,厄瓜多爾 ,,,,偏好,道達爾,1,2,1,2,1,2,1,2 國家,地區,經濟,人口,, ,,,,,,,, 巴西,拉美,非經合組織國家,男,, 249,7.20%,10.80%,12.00%,10.80%,15.70%,12.90%,12.00%,15.70% 巴西,拉丁巴西,拉丁美洲,非經合組織國家,非經合組織國家,非經合組織國家,非經合組織國家,251,10.80%,10.00%,14.70%,15.50%,11.20%,13.10%,14.70%,11.20% ,1 2.30%,10.30%,15.10%,15.10%,17.80%,16.40%,15.10%,17.80% 巴西,拉美,非經合組織國家,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.30% 9.30% 阿根廷,拉丁美洲,非經合組織國家,男,, 271,7.70%,6.30%,8.50%,15.10%,12.50%,14.00%,8.50%,12.50% 阿根廷,拉丁美洲,非經合組織國家,女性,阿根廷,拉丁美洲,非OECD,18-24,,140,8.60%,10.70%,女性,229,6.60%,8.30%,8.70%,15.30%,15.70%,13.10%,8.70%,15.70% ,7.90%,22.10%,17.90%,10.70%,7.90%,17.90%,阿根廷,拉美,非OECD,25-44,180.9.40%,6.10%,7.20%,16.70%,16.70% 18.30%,7.20%,16.70% 阿根廷,拉丁美洲,非經合組織國家,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'