본문 바로가기
목차
Python/pandas

[DL] Pandas 로 csv 읽기: read_csv()

by ds31x 2024. 4. 13.
728x90
반응형

pd.read_csv()

comma-separated values (csv)파일을 읽어서

pandas의 DataFrame 인스턴스로 변환해줌.

URL을 통해서도 쉽게 DataFrame 객체를 얻을 수 있음.

import pandas as pd

# ----------------------
# original data: boston house price data.
# 'http://lib.stat.cmu.edu/datasets/boston'
# original data의 경우, 1개의 sample에 2개의 행이 할당되어
# 이에 대한 처리가 필요함.
data_url = 'https://blog.kakaocdn.net/dna/bBaIM3/btsGBsBNUDl/AAAAAAAAAAAAAAAAAAAAAGUZdUlo0x_MIQi75zRxx8g-pz67fyJevwp_pnYLA1kp/boston.csv?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1769871599&allow_ip=&allow_referer=&signature=E5%2Biki3vUmzWGHMcDcnNUGcxJh4%3D&attach=1&knm=tfile.csv'

# read_csv
df = pd.read_csv(
    data_url,     # url or file path
    skiprows = 0, # num of rows to skip
    header = 0,   # header row
    sep = ','     # separator
)
df
  • filepath : csv file path, URL도 가능함.
  • sep : separator, 구분자로서 기본값은 comma 이지만, 정규표현식과 비슷한 패턴으로 지정.
  • header : # of header row, default = 0. 만약 header 가 없는 csv라면 None으로 지정하여 로드.
  • index_col : column number for index. (헤더로 이미 이름을 가진 경우 해당 이름으로도 지정 가능)
  • names : column name 들을 가지는 list를 argument로 하여 column name을 명시적으로 지정. header=None 이어야 사용가능함.
  • skiprows : # of rows to skip or line number list to skip (주로 갯수로 지정하나, list로 띄엄띄엄 생략 가능)
  • na_values : 결측치로 처리할 값(na, not available)들의 list를 argument로 받음.
  • dtype : 각 column의 데이터 타입을 지정 (dictionary를 argument로)
  • parse_dates : 날짜 데이터로 자동으로 parsing할 column 지정.

Excel Sheet 도 읽어들일 수 있으며, 파라미터의 동작이 매우 유사함:

2025.09.26 - [Python/pandas] - pandas.read_excel() 함수:

 

pandas.read_excel() 함수:

엑셀 파일(.xlsx)을 DataFrame으로 읽어들이는 함수임. 참고: pandas에서 Excel을 다루려면 openpyxl 라이브러리가 필요함: pip install openpyxl기본 사용법import pandas as pd# 엑셀 파일을 DataFrame으로 읽기df = pd.rea

ds31x.tistory.com

 


예제

data.csv 는 다음과 같음.

ID,Name,Age,Income,SignUpDate
1,John Doe,28,60000,2021-01-01
2,Jane Smith,34,70000,2021-01-15
3,Alice Johnson,45,80000,2021-02-01

 

이를 DataFrame으로 읽어들이기.

import pandas as pd

# CSV 파일 읽기 및 파라미터로 데이터 처리
df = pd.read_csv(
    'data.csv',
    index_col='ID',                   # 'ID' 열을 인덱스로 사용
    parse_dates=['SignUpDate'],       # 'SignUpDate' 열을 날짜 형식으로 파싱
    dtype={'Age': 'int32', 'Income': 'float32'},  # 데이터 타입 지정
    na_values={'Income': ['NA', '?']} # 'Income' 열에서 NA 또는 ?을 결측치로 인식
)

# 데이터 확인
print(df)

# 나이와 연봉 열만 선택
age_income_df = df[['Age', 'Income']]

# 데이터 출력
print(age_income_df)

 


앞서 맨 처음 예제를 위한 csv파일:

2024.04.18 - [Python] - [DL] Dataset: Boston Housing Price

 

[DL] Dataset: Boston Housing Price

Boston Housing Data 1970년 대 보스턴 시의 주택가격 데이터으로California Housing Data 와 함께 기계학습의 연습용 데이터로 많이 애용됨. 현재 California Housing Data로 대체되는 추세임California Housing Data가 19

ds31x.tistory.com

boston.csv
0.04MB

728x90