2000원 이상 데이터 출력하기

30 P
QUESTION 07 #292
데이터프레임에서 '가격'이 2000원 이상인 메뉴들만 추출하려고 합니다. 빈칸에 알맞은 객체(변수)명을 적으세요.
main.py
import pandas as pd

df = pd.DataFrame({
    '메뉴': ['아메리카노', '카페라떼', '딸기주스', '카푸치노', '초코쉐이크'],
    '종류': ['커피', '커피', '과일', '커피', '디저트'],
    '가격': [2000, 2500, 1500, 3000, 2000]
})

# 조건: 가격이 2000원 이상인 데이터만 추출
coffee_menu = df[['가격' ] >= 2000]

print(coffee_menu)
실행 결과 예시
      메뉴   종류    가격
0  아메리카노   커피  2000
1   카페라떼   커피  2500
3   카푸치노   커피  3000
4  초코쉐이크  디저트  2000
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

숫자 조건 필터링 심화

데이터프레임에서 숫자 크기 비교로 원하는 데이터를 추출하는 패턴입니다.

필터링 구조 분석

coffee_menu = df[df['가격'] >= 2000]

이 코드는 두 겹의 df가 들어있습니다:

df[ df['가격'] >= 2000 ]
 ↑   ↑
 |   └── 안쪽 df: 조건식에서 열에 접근
 └────── 바깥쪽 df: True인 행만 추출

동작 과정

인덱스 메뉴 가격 >= 2000 ?
0 아메리카노 2000 True
1 카페라떼 2500 True
2 딸기주스 1500 False
3 카푸치노 3000 True
4 초콜릿케이크 2000 True

왜 df를 두 번 쓰나요?

# ❌ 이렇게 하면 오류!
df['가격' >= 2000]

# ✅ 올바른 방법
df[df['가격'] >= 2000]

안쪽 df["가격"]어떤 열을 비교할지 지정하고, 바깥쪽 df[...]결과를 추출하는 역할입니다.

필터링 패턴 정리

# 패턴: df[df["열이름"] 비교연산자 값]

df[df["가격"] >= 2000]    # 2000 이상
df[df["가격"] < 1500]     # 1500 미만
df[df["가격"] == 2500]    # 정확히 2500
df[df["가격"] != 0]       # 0이 아닌 것

💡 핵심: 필터링 공식은 df[df["열"] 조건]입니다. df가 두 번 나오는 것이 정상입니다.