: 메서드는 값을 기준으로 레이블을 정렬하는 메서드입니다.
정렬의 기준이 되는 by에는 레이블명이 되는 str이 올수도 있고, 레이블명들의 list가 올 수 있습니다.
print(df.sort_values(by='col3'))
>>
col1 col2 col3 #col3을 기준으로 오름차순 정렬된 것을 확인할 수 있습니다.
row3 7.0 D -8
row5 0.0 NaN -7
row4 15.0 Z 3
row1 -3.0 A 17
row2 NaN D 31
print(df.sort_values(by=['col2','col3']))
>>
col1 col2 col3 # col2 기준으로 정렬 후 같은값인 'D'에 대해서는
row1 -3.0 A 17 # col3 기준으로 정렬된 것을 확인 할 수 있습니다.
row3 7.0 D -8
row2 NaN D 31
row4 15.0 Z 3
row5 0.0 NaN -7
ascending인수를 이용하여 오름차순과 내림차순을 설정할 수 있습니다.
기본값은 True로 오름차순입니다. 내림차순의 경우 False로 아래와 같습니다.
print(df.sort_values(by='col3',ascending=False))
>>
col1 col2 col3 # col3 기준으로 내림차순정렬이 된 것을 알 수 있습니다.
row2 NaN D 31
row1 -3.0 A 17
row4 15.0 Z 3
row5 0.0 NaN -7
row3 7.0 D -8
: 메서드는 인덱스를 기준으로 레이블을 정렬하는 메서드입니다.
level과 ascending의 값을 list형태로 입력하므로써, 각 level에 다른 정렬방식의 사용이 가능합니다.
level이 1인 val이 내림차순 정렬되고, level이 0인 row가 오름차순 정렬된것을 확인 할 수 있습니다.
print(df.sort_index(axis=0, level=[1,0],ascending=[False,True]))
>>
col4 col1 col2
row2 val5 16.0 17.0 18
row3 val3 7.0 8.0 9
row1 val2 4.0 NaN 6
row2 val2 19.0 20.0 21
row3 val2 13.0 14.0 15
row1 val1 1.0 2.0 3
row3 val1 NaN 11.0 12