반응형

13-10 멀티인덱스 레벨 변경 (reorder_levels)

DataFrame.reorder_levels(order, axis=0)

 

개요


reorder_levels메서드는 Multi Index에서 Index의 위치를 변경하는 메서드입니다.

 

사용법


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.reorder_levels(order, axis=0)
order : 새로 정렬할 인덱스 순서입니다. 리스트 형태입니다.
axis : {0 : index / 1 : columns} 순서를 적용할 축 입니다.

 

예시


먼저 기본적인 사용법 예시를 위해 Multi Index 객체를 생성하겠습니다.

idx = [['IDX1','IDX1','IDX2','IDX2'],['row1','row2','row3','row4']]
col = [['COL1','COL1','COL2','COL2'],['val1','val2','val3','val4']]
data = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
df = pd.DataFrame(data,idx,col)
print(df)
>>
          COL1      COL2     
          val1 val2 val3 val4
IDX1 row1    1    2    3    4
     row2    5    6    7    8
IDX2 row3    9   10   11   12
     row4   13   14   15   16

기본적인 사용법
order에 리스트 형태의 level 순서를 입력하므로써 인덱스 순서의 변경이 가능합니다.

print(df.reorder_levels([1,0])) #인덱스 순서를 레벨1 - 레벨0으로 변경
>>
          COL1      COL2     
          val1 val2 val3 val4
row1 IDX1    1    2    3    4
row2 IDX1    5    6    7    8
row3 IDX2    9   10   11   12
row4 IDX2   13   14   15   16

axis를 설정하여 적용될 축을 지정할 수 있습니다.

print(df.reorder_levels([1,0],axis=1))
>>
          val1 val2 val3 val4
          COL1 COL1 COL2 COL2
IDX1 row1    1    2    3    4
     row2    5    6    7    8
IDX2 row3    9   10   11   12
     row4   13   14   15   16
반응형

+ 최근 글