강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

감성훈님의 프로필 이미지
감성훈

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

분류 실습 1 : 캐글경연대회의 산탄데르 은행 고객 만족 예측 - 01

pandas로 csv 데이터 읽을 때

작성

·

426

0

안녕하세요 선생님.

산탄데르 캐글 예측 데이터를 불러올때, pd.read_csv()안에 파일위치와 encoding='latin-1'이라고 하셨는데, 혹시 encoding이 의미하는게 무엇인지 알 수 있을까요?

 

감사합니다.

퀴즈

결정 트리(Decision Tree) 모델이 데이터를 분할(Split)할 때 사용하는 주요 기준 지표로 가장 적절한 것은 무엇일까요?

평균 제곱 오차 (Mean Squared Error)

정보 이득 (Information Gain) 또는 지니 계수 (Gini Coefficient)

회귀 계수 (Regression Coefficient)

주성분 (Principal Component)

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

파일내에 문자열이 어떻게 encoding되어 있는가를 나타냅니다. 사실 text 파일은 우리가 메모장으로 열어보면 한글로 잘 나오지만, text file 자체는 byte 로 되어 있습니다. 이 byte가 문자열을 나타내는데, 특정 문자는 1byte, 어떤 문자는 2byte, 어떤 문자는 3byte등으로 encoding되어 있습니다. 

대표적으로 알파벳 계열, 숫자값등의 문자열은 1 byte 만으로 알파벳 1개를 나타내는 형태로 encoding 가능합니다. 한글은 보통 2byte, 그런데 이렇게 문자열별로 다르게 encoding하는걸 개선하기 위해서 3byte로 encoding하는 unicode 방식이 있습니다.  보통 pandas의 read_csv()는 text 파일이 unicode 형식으로 encoding 되어 있다고 가정하고 로딩합니다. 

그런데 text 파일의 encoding과 read_csv()의 encoding이 맞지 않을 경우 오류가 발생할 수 있습니다. 이런 경우는 보통 한글일 때 발생하는데, 산탄데르 데이터의 경우는 전부 숫자값이어서 latin-1(알파벳 계열)로 encoding을 적용하였습니다. 

감사합니다. 

감성훈님의 프로필 이미지
감성훈

작성한 질문수

질문하기