csv 포멧의 파일을 Parsing 하는 과정에서 다음과 같은 코드를 실행 할 경우 문제가 발생합니다.
import pandas as pd mpath = os.path.expanduser('movielens/movies.dat') unames = ['user_id', 'gender', 'age', 'occupation', 'zip'] users = pd.read_csv(upath, sep='::', header=None, names=unames, encoding=encoding) |
[Error]
C:\Python27\lib\site-packages\ipykernel\__main__.py:13: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators; you can avoid this warning by specifying engine='python'. C:\Python27\lib\site-packages\ipykernel\__main__.py:14: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators; you can avoid this warning by specifying engine='python'. C:\Python27\lib\site-packages\ipykernel\__main__.py:15: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators; you can avoid this warning by specifying engine='python'.
이럴 경우 engine='python'을 추가해주면 오류가 발생하지 않습니다.
import pandas as pd mpath = os.path.expanduser('movielens/movies.dat') unames = ['user_id', 'gender', 'age', 'occupation', 'zip'] users = pd.read_csv(upath, sep='::', header=None, names=unames, encoding=encoding, engine='python') |
데이터 파일이 여러개일 경우 다음과 같이 pandas의 merge함수를 활용하면 손쉽게 합칠 수 있습니다.
아래의 merge는 ratings 파일과 users 파일을 합치고 movies 파일을 합치는 과정을 나타내는 명령어 입니다.
(※ pd = import pandas as pd)
data = pd.merge(pd.merge(ratings, users), movies) |
테이블로 만들어진 Data는 .ix 메소드를 활용하여 컬럼을 사용할 수 있다.
data.ix[0] - index 0 컬럼의 데이터를 출력
'프로그래밍 > Data Science' 카테고리의 다른 글
[Data Science] 새너티 테스트(Sanity Check) & 중복 데이터 카운트 (0) | 2016.05.06 |
---|---|
[Data Science] Column 사용하기 & 여러 파일 읽기 (0) | 2016.05.02 |
[Data Science] IPython qtconsole 실행 에러 & jupyter 실행 (0) | 2016.04.27 |
[Data Science] IPython(iPython) 활용하기 (0) | 2016.04.26 |
[Data Science] R + R Studio Install & Excel Passing (0) | 2016.04.21 |