데이터프레임 열로 정렬하기
pandas 정렬: 파이썬에서 데이터 정렬하는 가이드
Spencer Guy에 의하여 작성된 기사입니다.
Pandas 정렬 메서드 시작하기
데이터 분석을 할 때 가장 많이 사용하는 도구 중 하나는 pandas입니다. pandas를 사용하면 대용량의 데이터를 효율적으로 조작할 수 있으며, 데이터프레임을 사용하여 데이터를 정렬하는 작업을 수행할 수 있습니다.
이 튜토리얼에서는 DataFrame에서 데이터를 정렬하는 데 유용한 .sort_values()
와 .sort_index()
메서드에 대해 알아보겠습니다.
이번 튜토리얼을 마친 후에는 다음을 할 수 있게 될 것입니다:
- 하나 또는 여러 열의 값에 따라 pandas DataFrame을 정렬하는 방법
ascending
매개변수를 사용하여 정렬 순서를 변경하는 방법- **
.sort_index()
**를 사용하여 DataFrame을 인덱스 별로 정렬하는 방법 - 값들을 정렬하면서 결측치를 처리하는 방법
inplace
를True
로 설정하여 DataFrame을 원본 데이터프레임에서 직접 정렬하는 방법
무료 보너스: 이곳을 클릭하여 Python Cheat Sheet를 받아보세요 Python 3의 기본 사항인 데이터 유형, 사전, 리스트 및 Python 함수와 같은 기본 개념을 배우실 수 있습니다.
Pandas 정렬 메서드로 시작하기
빠르게 상기시키기 위해, DataFrame은 테이블 형식의 데이터를 포함한 다양한 데이터구조를 제공하는 pandas 클래스입니다. 데이터프레임은 행과 열로 구성되어 있으며, 각 열은 특정 유형의 데이터를 포함합니다.
이제 정렬 작업을 수행하기 위해 사전에 데이터셋을 준비해야 합니다. 아래의 예시를 따라해보세요.
데이터셋 준비하기
실행 결과:
.sort_values()
에 익숙해지기
.sort_values()
메서드는 DataFrame을 한 열 또는 여러 열의 값을 기준으로 정렬하는 데 사용됩니다. 아래의 예시를 따라해보세요.
실행 결과:
.sort_index()
에 익숙해지기
.sort_index()
메서드는 DataFrame을 인덱스 별로 정렬합니다. 아래의 예시를 따라해보세요.
실행 결과:
단일 열을 기준으로 DataFrame 정렬하기
이제 DataFrame을 단일 열의 값에 따라 정렬하는 방법에 대해 알아보겠습니다.
오름차순으로 열을 정렬하기
DataFrame을 오름차순으로 정렬하기 위해 ascending
매개변수를 사용할 수 있습니다. 기본적으로 ascending
은 True로 설정되어 있으며, 이는 열을 오름차순으로 정렬한다는 것을 의미합니다.
아래 예시를 따라해보세요.
실행 결과:
정렬 순서 변경하기
열을 내림차순으로 정렬하려면 ascending
매개변수를 False로 설정하면 됩니다.
아래 예시를 따라해보세요.
실행 결과:
정렬 알고리즘 선택하기
sort_values()
메서드는 kind
매개변수를 사용하여 다양한 정렬 알고리즘을 선택할 수 있습니다. 기본적으로 kind='quicksort'
로 설정되어 있습니다.
아래의 예시는 ‘age’ 열을 오름차순으로 정렬하는데, kind='mergesort'
를 사용한 예시입니다.
실행 결과:
여러 열을 기준으로 DataFrame 정렬하기
DataFrame을 여러 열의 값에 따라 정렬하는 방법에 대해 알아보겠습니다.
여러 열을 오름차순으로 정렬하기
여러 열을 오름차순으로 정렬하려면 sort_values()
메서드에 정렬하려는 열의 리스트를 전달하면 됩니다.
아래 예시를 따라해보세요.
실행 결과:
열의 정렬 순서 변경하기
여러 열을 오름차순 또는 내림차순으로 정렬할 수 있습니다. 기본적으로 모든 열은 오름차순으로 정렬됩니다. 하지만 특정 열을 내림차순으로 정렬하려면 열 이름 뒤에 ascending=False
를 추가하면 됩니다.
아래 예시를 따라해보세요.
실행 결과:
인덱스를 기준으로 DataFrame 정렬하기
이제 DataFrame을 인덱스 별로 정렬하는 방법에 대해 알아보겠습니다.
오름차순으로 인덱스 정렬하기
DataFrame을 인덱스 별로 오름차순으로 정렬하는 방법을 알아보겠습니다.
아래 예시를 따라해보세요.
실행 결과:
내림차순으로 인덱스 정렬하기
인덱스 별로 내림차순으로 정렬하려면 ascending=False
를 사용하면 됩니다.
아래 예시를 따라해보세요.
실행 결과:
고급 인덱스 정렬 개념 탐색하기
인덱스 정렬의 고급 개념에 대해 알아보겠습니다.
컬럼 정렬하기
DataFrame의 열을 정렬하는 방법을 알아보겠습니다. 열을 정렬하려면 axis
매개변수를 사용하고 sort_values()
메서드에 열의 이름을 전달하면 됩니다.
아래 예시를 따라해보세요.
실행 결과:
Pandas에서 정렬할 때 결측치 데이터 다루기
pandas를 사용하여 데이터를 정렬할 때 결측치의 처리에 대해 알아보겠습니다.
na_position
매개변수 이해하기
sort_values()
메서드에는 na_position
매개변수가 있습니다. 이 매개변수를 사용하여 결측치를 어떻게 처리할지 지정할 수 있습니다. 기본 설정값은 last
입니다.
아래 예시는 결측치가 있는 열을 정렬하는 방법을 보여줍니다.
실행 결과:
sort_index()
의 na_position
매개변수 이해하기
sort_index()
메서드에서도 na_position
매개변수를 사용할 수 있습니다. 기본 설정값은 last
입니다.
아래 예시는 인덱스에 결측치가 있는 DataFrame을 정렬하는 방법을 보여줍니다.
실행 결과:
정렬 메서드를 사용하여 DataFrame 수정하기
마지막으로 정렬 메서드를 사용하여 DataFrame을 수정하는 방법을 알아보겠습니다.
.sort_values()
를 사용하여 DataFrame 수정하기
DataFrame을 정렬한 다음 .sort_values()
메서드에 inplace=True
를 설정하여 DataFrame을 직접 수정할 수 있습니다.
아래 예시를 따라해보세요.
실행 결과:
.sort_index()
를 사용하여 DataFrame 수정하기
.sort_index()
메서드를 사용하여 DataFrame을 인덱스별로 정렬하고, 원본 DataFrame을 수정할 수 있습니다.
아래 예시를 따라해보세요.
실행 결과:
결론
이 튜토리얼에서는 pandas의 정렬 메서드인 .sort_values()
와 .sort_index()
를 사용하여 DataFrame을 정렬하는 방법에 대해 알아보았습니다. DataFrame을 정렬하는 작업은 데이터 분석 및 조작에 있어 굉장히 유용한 기능 중 하나입니다. 이제 여러분은 pandas를 사용하여 데이터를 원하는 방식으로 정렬할 수 있을 것입니다.