학습 자료

정렬, 순위 매기기, 재인덱싱

분석에 딱 맞는 순서로 데이터가 들어오는 경우는 드뭅니다. 이럴 때 필요한 것이 정렬(sorting), 순위 매기기(ranking), 재인덱싱(reindexing)입니다.

열 값으로 정렬하든 행 순서를 직접 바꾸든, pandas를 사용하면 이를 간단히 처리할 수 있습니다.


값 정렬하기

.sort_values()를 사용하면 하나 이상의 열을 기준으로 DataFrame을 정렬할 수 있습니다.

점수 기준 정렬
data = { "Name": ["Alice", "Bob", "Charlie"], "Score": [85, 90, 78] } df = pd.DataFrame(data) df.sort_values(by="Score", ascending=False) # 출력: # Name Score # 1 Bob 90 # 0 Alice 85 # 2 Charlie 78

이를 통해 상위 점수자, 가장 이른 날짜, 최저가 등을 쉽게 찾을 수 있습니다.


데이터 순위 매기기

값에 순위를 매기려면 .rank()를 사용합니다. 각 값에 순위 번호를 부여하고 동점도 자동으로 처리합니다.

점수 순위 매기기
df["점수"].rank(ascending=False) # 출력: # 0 2.0 # 1 1.0 # 2 3.0 # Name: Score, dtype: float64

이러한 기능은 리더보드나 백분위 기반 그룹화에 유용합니다.


행 재인덱싱

재인덱싱은 .reindex()로 행의 순서를 초기화하거나 원하는 순서로 맞출 수 있게 해줍니다.

인덱스로 행 재배열
df.reindex([2, 0, 1]) # 출력: # Name Score # 2 Charlie 78 # 0 Alice 85 # 1 Bob 90

이를 통해 데이터셋의 인덱스를 맞추거나 원하는 순서의 뷰를 만들 수 있습니다.


요약

기능메서드목적
행 정렬sort_values()열 값을 기준으로 행 순서를 정렬
순위 부여rank()값에 순위 번호 부여
행 재정렬reindex()사용자 지정 행 인덱스 순서 설정
Quiz
0 / 1

사용자 지정 인덱스를 기준으로 DataFrame의 행을 재정렬하려면 어떤 메서드를 사용하나요?

.sort_values()

.rank()

.reindex()

.groupby()

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말