[27일차]Series - 값 정렬(inplace=, 비파괴적vs파괴적)

김준석·2024년 1월 2일

**Series - 값 정렬(inplace=, 비파괴적vs파괴적)**


이번 글에서는 sort_values의 인자값 inplace에 대해 상세히 설명해보도록 하겠다.

sort_values() 인자값 설명

1. axis=, ascending=

axis= : 축을 넣어준다.(데이터프레임에서 사용)

ascending = : 오름차순을 의미 (True = 오름차순, False = 내림차순)

rich_set.sort_values(axis=0,ascending=True)

Series 형태의 rich_set에서 sort_values 인자에 axis와 ascending=True를 사용하니

아무 인자를 안넣었을 때와 동일하다.

왜?

  • Series는 축이 하나밖에 없기에 axis를 사용해도 무의미하다.
  • sort_values()의 기본 값은 ascending = True 이기 때문.

2. kind=, na_position=

  • kind=
    • 정렬에 사용할 정렬 알고리즘을 지정
    • 특이한 상황이 아닌 경우 quicksort가 우수한 선능을 보임.
    • 그렇기 때문에 sort_values()의 default는 quicksort이다.
  • na_position=
    • NaN값을 어디로 배치할지 정한다. 상단 or 하단
    • sort_values()의 default값은 last이다.

rich_set 함수에 kind, na_position의 인자값을 넣어서 확인해보자.

rich_set.sort_values(axis=0, ascending=True,
                    kind='quicksort',na_position='last')

출력값은 아무인자를 안넣었을 때와 동일하다.

🔎왜 그럴까?

  • sort_values()의 기본 값은 kind='quicksort' 이기 때문.

  • NaN값이 없기에 na_position='last’ 이 인자는 해당이 안됨.

    • rich_set.info() 를 사용하여 데이터 셋 정보를 확인하면

      101 non-null 즉, 결측치가 없는 101개의 데이터 임을 확인할 수 있다.

3. ignore_index=

  • 정렬시 index를 정렬된 순서에 맞게 재배치 해줌.

기존 rich_set을 오름차순 정렬시

위와 같이 나왔지만

ignore_index=True 를 사용하면

rich_set.sort_values(ignore_index=True)

인덱스 번호도 정렬 기준에 맞춰 재배치 된 것을 확인할 수 있다.

0개의 댓글