전처리 - 정렬

류소리·2023년 1월 9일
0

전처리

목록 보기
7/11

값 기준 정렬 sort_values()

: 메서드는 값을 기준으로 레이블을 정렬하는 메서드입니다.

기본적인 사용법

정렬의 기준이 되는 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
  • list형태가 올 경우, 첫 값부터 정렬합니다.
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인수의 사용

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

인덱스 기준 정렬, sort_index()

: 메서드는 인덱스를 기준으로 레이블을 정렬하는 메서드입니다.

level별 ascending의 병용

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
profile
새싹 빅테이터 개발자

0개의 댓글