본문 바로가기
Python

[DL] Pandas 로 csv 읽기: read_csv

by ds31x 2024. 4. 13.

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/dn/bBaIM3/btsGBsBNUDl/irTKKK1MF1Y1o6JHpGn3n1/boston.csv?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
  • sep : separator, 구분자로서 기본값은 comma 이지만, 정규표현식과 비슷한 패턴으로 지정.
  • header : # of header row, default = 0
  • 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 지정.

예제

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)

boston.csv
0.04MB