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
반응형
'데이터 사이언스 메뉴얼 > pandas' 카테고리의 다른 글
파이썬 Pandas NaN 데이터 처리하기 (0) | 2020.03.17 |
---|---|
파이썬 Pandas DataFrame column 추가 / 삭제하기 (0) | 2020.03.16 |
파이썬 Pandas Data 선택하기 (0) | 2020.03.12 |
파이썬 Pandas DataFrame 생성하기 - 1 (0) | 2020.02.28 |
파이썬 Pandas DataFrame 구조 이해하기 (0) | 2020.02.27 |
최근댓글