csv 파일로 DateFrame 생성하기

import pandas as pd
Format Type Data Description Reader Writer
text CSV read_csv to_csv
text JSON read_json to_json
text HTML read_html to_html
.....   Pandas I/O tools

csv 파일이란, comma-separated values의 약자로, 데이터가 콤마( ,)로 구분되어 있는 파일을 뜻한다.
데이터 분석을 위해, dataframe을 생성하는 가장 일반적인 방법으로, 데이터 소스로부터 추출된 csv파일로 생성한다.

 

pandas.read_csv

  pandas.read_csv( filepath_or_buffer, sep, delimiter, header, names, index_col, usecols ..... )
filepath_or_buffer 입력할 파일의 경로를 지정한다. (file 뿐만아니라 URL, readh() 메소드가 있는 어떤 객체)
sep (separation) 각 데이터 값을 구별하기 위한 구분자를 설정한다. (str, default sep = ',')
header column의 이름과 data의 시작을 나타낼 row index를 설정한다. (int or list of ints, default header = infer)
header를 무시할경우 header = 0와 동일시되며, 파일의 첫번째 줄을 column의 이름으로 유추한다. 만약 column의 이름이 명시적으로 전달되었다면, header = None와 동일시된다.
names column의 이름으로 사용할 리스트를 지정한다. (리스트의 복사본은 지정할 수 없다.) 
index_col DataFrame의 row index를 사용할 column을 지정한다. (int or str, default index_col = None)
usecols 사용할 column을 지정하여 반환한다.  (list-like or callable, default usecols = None)
리스트로 지정할 경우, 모든 요소들은 문서 열에 대한 정수 인덱스이거나, names로 제공하거나 문서의 header row에서 유추한 열의 이름에 해당하는 문자열이어야 한다.
.....  이 외에도 수많은 속성들이 있다.

 

 

pandas.read_csv(filepath_or_buffer)

해당 파이썬 파일과 동일한 폴더에 있는 데이터를 읽어오고 싶으면 './파일이름'의 형식을 사용하면 된다.

# data 출처: https://www.kaggle.com/hesh97/titanicdataset-traincsv/data
>>> train_data = pd.read_csv('./train.csv')
>>> train_data.head()

 

pandas.read_csv(filepath_or_buffer, sep)

sep = '#'로 지정할 경우, #을 만나면 데이터를 구분하게 된다.
해당 데이터는 csv로 콤마( ,)로 구분되어 있으므로, '#'로 구분할 수가 없어 전체 데이터가 하나로 묶이게 된다.

>>> train_data = pd.read_csv( './train.csv', sep = '#' )
>>> train_data.head()

 

pandas.read_csv(filepath_or_buffer, header)

header는 default = infer이므로 속성 지정을 안하게 되면 header = 0으로 header를 자동으로 유추하게 된다.
names 속성을 통해 header의 이름을 명시적으로 전달하거나 header = None으로 지정할 경우, 첫번째 열은 데이터로서 역할을 하게 된다.

>>> train_data = pd.read_csv( './train.csv', header = None )
>>> train_data.head()

 

pandas.read_csv(filepath_or_buffer, index_col)

index값을 따로 지정해주지 않았기 때문에 기본적으로 0-based index를 생성한다.
index로 사용할 column을 지정해주게 되면 특정 column을 index로 사용하게 된다.

>>> train_data = pd.read_csv( './train.csv', index_col = 'PassengerId' )
>>> train_data.head()

 

pandas.read_csv(filepath_or_buffer, index_col, usecols)

usecols를 따로 설정하여 확인해보고 싶은 column만 반환하여 볼 수 있다.
이때, index_col을 따로 지정했다면, usecols를 지정할 때, index_col 속성에 사용한 column을 반드시 넣어야 한다.

>>> train_data = pd.read_csv(' ./train.csv', index_col = 'PassengerId', usecols = [ 'PassengerId', 'Survived', 'Age', 'Name' ] )
>>> train_data.head()

 

 

csv 한글 파일을 불러올 경우

한글파일을 불러오고 싶을 경우 encoding 속성을 다음과 같이 하면 된다.

>>> train_data( './train.csv', encoding = 'utf-8' )
>>> train_data( './train.csv', encoding = 'CP949' )
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기