pandas로 CSV 읽기
CSV는 내보내기와 데이터셋 교환에 널리 사용됩니다.
pandas read_csv는 언제 사용할까?
CSV는 스프레드시트, 업무 시스템, 분석 도구, API와 데이터베이스 사이에서 데이터를 교환할 때 널리 사용됩니다. pandas.read_csv()는 CSV를 DataFrame으로 읽어 정제, 필터링과 분석을 가능하게 합니다.
주요 활용 사례
- Excel, Google Sheets 또는 CRM의 내보내기 데이터를 분석합니다.
- 데이터 과학과 머신러닝용 dataset을 불러옵니다.
- 가져오기 전에 결측값, 잘못된 자료형과 중복 데이터를 정리합니다.
팁: 실제 운영 데이터에서는 dtype, parse_dates, usecols, na_values를 지정해 읽기 방식을 명확히 하세요.
기본 예제
main.py
import pandas as pd
from io import StringIO
csv_text = "name,score\nAda,95\nLin,88\nSam,91"
students = pd.read_csv(StringIO(csv_text))
print(students)
예상 출력
name score
0 Ada 95
1 Lin 88
2 Sam 91
고급 예제
실제 CSV 파일은 크고 불완전한 경우가 많습니다. 이 예제는 필요한 열을 선택하고 날짜를 파싱하며 자료형을 지정하고 여러 형태의 결측값을 인식합니다.
advanced_csv.py
import pandas as pd
sales = pd.read_csv(
"sales.csv",
usecols=["order_date", "product", "quantity", "revenue"],
parse_dates=["order_date"],
dtype={"product": "string", "quantity": "Int64"},
na_values=["", "N/A", "unknown"],
)
sales = sales.dropna(subset=["order_date", "product"])
monthly_revenue = sales.groupby(
sales["order_date"].dt.to_period("M")
)["revenue"].sum()
print(monthly_revenue)
작동 원리
read_csv가 헤더와 타입을 추론하며 dtype, parse_dates, na_values를 지정하면 더 안전합니다.
값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.
연습 문제
입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.
- 행, 열, 결측값을 추가하세요.
- 필터링, 정렬, groupby를 결합하세요.
- 실제 파일을 읽고 dtype을 확인하세요.