-
카테고리
-
세부 분야
딥러닝 · 머신러닝
-
해결 여부
미해결
pandas로 csv 데이터 읽을 때
21.10.05 11:31 작성 조회수 285
0
안녕하세요 선생님.
산탄데르 캐글 예측 데이터를 불러올때, pd.read_csv()안에 파일위치와 encoding='latin-1'이라고 하셨는데, 혹시 encoding이 의미하는게 무엇인지 알 수 있을까요?
감사합니다.
답변을 작성해보세요.
0
권 철민
지식공유자2021.10.05
안녕하십니까,
파일내에 문자열이 어떻게 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을 적용하였습니다.
감사합니다.
답변 1