PROGRESS
12 / 12
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
칼로리 높은 순으로 정렬하기
30 P
QUESTION 12 #299
데이터프레임에서 칼로리가 높은 순서(내림차순)로 정렬하는 프로그램입니다. 빈칸을 채우세요.
main.py
import pandas as pd
food = pd.DataFrame({
'메뉴': ['불닭정식', '삼각김밥세트', '치즈핫바', '초코우유', '감자칩'],
'칼로리': [850, 450, 320, 210, 530]
})
# 칼로리 기준 내림차순 정렬
rank = food.(by='칼로리', ascending=False)
print(rank)
HINT
힌트: "값(values)들에 따라 정렬(sort)하다"라는 의미인 sort_values() 함수를 사용합니다.
실행 결과 예시
메뉴 칼로리 0 불닭정식 850 4 감자칩 530 1 삼각김밥세트 450 2 치즈핫바 320 3 초코우유 210
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
sort_values() 실전 활용
편의점 음식 데이터를 칼로리 기준으로 정렬하는 실전 예제입니다.
코드 분석
rank = food.sort_values(by='칼로리', ascending=False)
| 파라미터 | 값 | 의미 |
|---|---|---|
by |
'칼로리' | 칼로리 열 기준으로 정렬 |
ascending |
False |
내림차순 (높은 값부터) |
동작 과정
정렬 전: 정렬 후 (내림차순):
메뉴 칼로리 메뉴 칼로리
0 붉닭전설 850 → 0 붉닭전설 850
1 삼각김밥세트 450 → 4 감자칩 530
2 치즈핫바 320 → 1 삼각김밥세트 450
3 초코우유 210 → 2 치즈핫바 320
4 감자칩 530 → 3 초코우유 210
오름차순 vs 내림차순 기억법
오름차순 (ascending=True): 작 → 큰 (오르막길 ↑)
210 → 320 → 450 → 530 → 850
내림차순 (ascending=False): 큰 → 작 (내리막길 ↓)
850 → 530 → 450 → 320 → 210
ascending 단어 뜻
ascend는 영어로 "올라가다"라는 뜻입니다.
- ascending = True → 올라가는 순서 (오름차순)
- ascending = False → 올라가지 않음 (내림차순)
문자열 정렬
숫자뿐만 아니라 문자열도 정렬 가능합니다:
# 이름 가나다순 정렬
df.sort_values(by='이름')
# 결과: 감자칩, 붉닭전설, 삼각김밥세트, 초코우유, 치즈핫바
💡 sort_values()는 원본을 변경하지 않고 새로운 데이터프레임을 반환합니다.