종류가 커피인 데이터 추출하기

30 P
QUESTION 02 #291
데이터프레임에서 '종류'가 '커피'와 일치하는 메뉴들만 골라내어 이름과 가격을 확인하려고 합니다. 빈칸을 채워보세요.
main.py
import pandas as pd

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

# 조건: 종류가 '커피'와 일치(Equal)하는 데이터만 추출
coffee_menu = df[df['종류']  '커피']

print(coffee_menu[['메뉴', '가격']])
실행 결과 예시
      메뉴    가격
0  아메리카노  2000
1   카페라떼  2500
3   카푸치노  2500
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

문자열 조건으로 데이터 필터링하기

숫자뿐만 아니라 문자열이 일치하는 데이터도 필터링할 수 있습니다.

기본 문법

결과 = df[df["열이름"] == "찾을 값"]

코드 동작 과정

coffee_menu = df[df['종류'] == '커피']

1단계: df['종류'] == '커피' → True/False 판별

인덱스 메뉴 종류 == '커피' ?
0 아메리카노 커피 True
1 카페라떼 커피 True
2 딸기주스 과일 False
3 카푸치노 커피 True
4 초콜릿케이크 디저트 False

2단계: True인 행만 추출 후 원하는 열 선택

print(coffee_menu[['메뉴', '가격']])
      메뉴    가격
0  아메리카노  2000
1   카페라떼  2500
3   카푸치노  2500

= 과 == 의 차이

기호 의미 사용 예
= 값을 저장 (대입) x = 10
== 값이 같은지 비교 df["종류"] == "커피"

문자열 필터링 주의사항

# ✅ 정확히 일치
df[df['종류'] == '커피']

# ❌ 대소문자가 다르면 불일치
df[df['종류'] == 'Coffee']  # '커피'와 다름!

# 부분 일치는 str.contains() 사용
df[df['메뉴'].str.contains('카페')]

💡 핵심: 문자열 비교에는 반드시 == (등호 2개)를 사용합니다. = 하나는 대입 연산자입니다.