2013-08-19 3 views
1

"flat"열 인덱스, [Sample 1], [Sample 2 '...]가있는 pandas DataFrame을 가지고 있고 두 레벨을 가진 MultiIndex를 생성했습니다. 먼저 DataFrame의 열 인덱스와 동일한 요소 ('Sample 1'...)가 있습니다. 내 DataFrame의 열 인덱스를이 MultiIndex로 바꾸고, 일치하는 이름을 가진 열 인덱스 요소를 MultiIndex의 각 요소로 바꾸고 싶습니다. 따라서 'Sample 1'로 향한 열은 ('Sample 1', 'group x')로 향하고, 'Sample 2'라는 제목의 열은 ('Sample 2', 'group x')이어야합니다. 등등.DataFrame 열 인덱스를 MultiIndex로 바꾸십시오.

예를 들어, DataFrame은 같을 수 있습니다

  A B C 
row1  1 2 3 
row2  4 5 6 
    : 
rowN  7 8 9 

그리고 MultiIndex이처럼 보이는 최종 결과와 [('A', 'G1'), ('B', 'G1'), ('C', 'G2')]

과 같습니다

 G1 G1 G2 
     A B C 
row1  1 2 3 
row2  4 5 6 
    : 
rowN  7 8 9 

는 것 같다

이 있어야한다 간단한 조인 또는 일치 연결이지만 메소드 (및/또는 키워드)를 찾을 수 없습니다.

답변

1

그냥 속성 columns 인스턴스에 지정

In [10]: df = DataFrame(randn(10, 3), columns=list('abc')) 

In [11]: df.columns = [list('ABC'), df.columns] 

In [12]: df 
Out[12]: 
     A  B  C 
     a  b  c 
0 2.320 -1.670 0.511 
1 0.350 -1.877 0.627 
2 1.671 0.347 1.328 
3 0.896 -0.061 0.083 
4 1.168 1.212 -1.127 
5 -0.015 0.402 0.249 
6 -0.576 0.898 -0.464 
7 -0.939 0.198 -2.698 
8 -0.767 0.532 -0.369 
9 0.365 0.293 -0.676 

In [13]: df.columns 
Out[13]: 
MultiIndex 
[(u'A', u'a'), (u'B', u'b'), (u'C', u'c')] 
관련 문제