PROGRESS
3 / 10
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
QUESTION 03 #383
CSV 파일에서 필요한 열만 골라서 읽는 프로그램입니다. 빈칸을 채우세요.
main.py
import pandas as pd
# 테스트용 CSV 생성
df_save = pd.DataFrame({
'이름': ['민수', '서희', '지연'],
'국어': [90, 85, 70],
'영어': [80, 95, 88],
'수학': [85, 90, 100]
})
df_save.to_csv('/tmp/grades.csv', index=False)
# '이름'과 '수학' 열만 읽어옵니다.
df = pd.read_csv('/tmp/grades.csv', =['이름', '수학'])
print(df)
HINT
힌트: "사용할 열들(use columns)"이라는 의미의 영어를 줄인 usecols 옵션을 사용합니다.
실행 결과 예시
이름 수학 0 민수 85 1 서희 90 2 지연 100
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
usecols로 필요한 열만 읽기
CSV 파일에 열이 많을 때 필요한 열만 골라서 읽으면 효율적입니다.
기본 문법
df = pd.read_csv("파일.csv", usecols=["열1", "열2"])
동작 과정
CSV 파일 (4개 열): usecols 적용 (2개 열만):
이름,국어,영어,수학 이름 수학
민수,90,80,85 usecols 0 민수 85
서희,85,95,90 --------→ 1 서희 90
지연,70,88,100 2 지연 100
국어, 영어 열은 읽지 않음!
usecols의 두 가지 방식
# 방법 1: 열 이름으로 선택
df = pd.read_csv("data.csv", usecols=['이름', '수학'])
# 방법 2: 열 번호(인덱스)로 선택
df = pd.read_csv("data.csv", usecols=[0, 3])
# 0번째 열(이름)과 3번째 열(수학) 선택
usecols를 사용하는 이유
| 상황 | 장점 |
|---|---|
| 열이 50개인데 3개만 필요 | 메모리 절약 |
| 대용량 파일 (수백 MB) | 읽기 속도 향상 |
| 분석에 불필요한 열 제외 | 코드 간결화 |
읽은 후 열 선택 vs usecols 비교
# 방법 A: 전체 읽은 후 선택 (메모리 낭비)
df = pd.read_csv("big.csv")
df = df[["이름", "수학"]]
# 방법 B: 처음부터 필요한 열만 읽기 (효율적)
df = pd.read_csv("big.csv", usecols=["이름", "수학"])
💡 핵심: 대용량 파일에서는 처음부터
usecols로 필요한 열만 읽는 것이 효율적입니다.