반응형
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
반응형
'파이썬완전정복-Pandas DataFrame > 13. 축 및 레이블' 카테고리의 다른 글
Pandas DataFrame 13-09 인덱스 리셋 (reset_index) (0) | 2022.01.27 |
---|---|
Pandas DataFrame 13-08 인덱스 변경 (reindex_like) (0) | 2022.01.27 |
Pandas DataFrame 13-07 인덱스 변경 (reindex) (0) | 2022.01.27 |
Pandas DataFrame 13-06 접미사/접두사 (suffix / prefix) (0) | 2022.01.27 |
Pandas DataFrame 13-05 레이블명 변경 (set_axis) (0) | 2022.01.26 |