Pandas의 sort_index() 메서드는 DataFrame이나 Series의 인덱스를 오름차순 또는 내림차순으로 정렬할 때 사용됩니다. 별도의 매개변수를 지정하지 않으면 기본값에 따라 인덱스가 오름차순으로 정렬됩니다. 반대로 내림차순으로 정렬하고 싶다면 ascending=False 옵션을 사용하면 됩니다.
기본 사용법
1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. 정렬되지 않은 인덱스를 가진 DataFrame 생성
아래와 같이 인덱스가 [4, 8, 2, 9, 15, 11]로 뒤섞여 있는 DataFrame을 만들어 보겠습니다.
dataFrame = pd.DataFrame([100, 150, 200, 250, 250, 500],
index=[4, 8, 2, 9, 15, 11],
columns=['Col1'])
3. 인덱스 정렬
sort_index()를 호출하면 인덱스가 오름차순으로 재정렬됩니다.
dataFrame.sort_index()
전체 예제 코드
다음은 위 과정을 하나로 묶은 전체 코드입니다.
import pandas as pd
dataFrame = pd.DataFrame([100, 150, 200, 250, 250, 500],
index=[4, 8, 2, 9, 15, 11],
columns=['Col1'])
print("DataFrame...\n", dataFrame)
print("\nSort index...\n", dataFrame.sort_index())
실행 결과
위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다. 인덱스가 2, 4, 8, 9, 11, 15 순서로 깔끔하게 정렬된 것을 볼 수 있습니다.
DataFrame...
Col1
4 100
8 150
2 200
9 250
15 250
11 500
Sort index...
Col1
2 200
4 100
8 150
9 250
11 500
15 250
내림차순 정렬이 필요하다면?
인덱스를 큰 값부터 정렬하고 싶은 경우에는 다음과 같이 ascending=False 매개변수를 전달하면 됩니다.
dataFrame.sort_index(ascending=False)
이처럼 sort_index()는 간단한 한 줄의 호출만으로 인덱스 기반 데이터 정렬을 손쉽게 처리할 수 있는 유용한 메서드입니다.