데이터 정렬하기 : sort_values()

30 P
QUESTION 11 #275
특정 열을 기준으로 데이터를 내림차순(큰 값부터) 정렬하는 코드를 완성하세요.
main.py
import pandas as pd

df = pd.DataFrame({
    '이름': ['민수', '영희', '지우', '현아'],
    '점수': [85, 92, 78, 95]
})

# '점수' 열을 기준으로 값이 큰 순서대로 정렬합니다.
df2 = df.(by='점수', ascending=False)

print(df2)
실행 결과 예시
   이름  점수
3  현아  95
1  영희  92
0  민수  85
2  지우  78
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

sort_values()로 데이터 정렬하기

sort_values()는 특정 열의 값을 기준으로 행 전체를 재배치하는 함수입니다.

기본 문법

df.sort_values(by="열이름", ascending=True/False)

ascending 옵션

의미 정렬 순서
True (기본값) 오름차순 작은 값 → 큰 값
False 내림차순 큰 값 → 작은 값

코드 동작 과정

df2 = df.sort_values(by='점수', ascending=False)
정렬 전:                정렬 후 (내림차순):
   이름  점수               이름  점수
0  민수   85            3  하은   95  ← 가장 높음
1  서희   92            1  서희   92
2  지연   78            0  민수   85
3  하은   95            2  지연   78  ← 가장 낮음

인덱스 번호 유지

정렬 후에도 원래의 인덱스 번호가 유지됩니다. 하은의 인덱스는 여전히 3번입니다.

인덱스를 새로 매기려면:

df2 = df.sort_values(by='점수', ascending=False).reset_index(drop=True)
#   이름  점수
# 0 하은   95   ← 인덱스 0으로 재설정
# 1 서희   92
# ...

다양한 정렬 예시

# 오름차순 (기본값, ascending 생략 가능)
df.sort_values(by='점수')

# 내림차순
df.sort_values(by='점수', ascending=False)

# 여러 열 기준 정렬 (1순위: 학년, 2순위: 점수)
df.sort_values(by=['학년', '점수'], ascending=[True, False])

np.sort() vs sort_values() 비교

비교 np.sort() df.sort_values()
대상 넘파이 배열 판다스 데이터프레임
정렬 기준 배열 값 자체 특정 열(by 옵션)
내림차순 [::-1] 사용 ascending=False

💡 핵심: by로 기준 열을, ascending으로 정렬 방향을 지정합니다.