본문 바로가기
Error Note

TypeError: Encoders require their input to be uniformly strings or numbers. Got ['int', 'str']

by ga.0_0.ga 2023. 1. 29.
728x90
반응형
반응형

- 전체 에러 문구

TypeError: Encoders require their input to be uniformly strings or numbers. Got ['int', 'str']

- 해결 방법

Scikit-Learn의 LabelEncoder() 함수에서 발생했던 에러입니다. 인코딩할 라벨의 타입이 서로 같아야 하는데 다르게 입력된 경우에 발생하는 에러입니다.

저의 경우에는 csv 파일을 읽어 특정 열에 LabelEncoder()함수를 적용하려 할때, 데이터에 -1로 표기된 부분들 때문에 에러가 발생했습니다. (좀 더 찾아보니 특정 버전 이상에서만 발생하고, 구글 Colab에서 사용할 경우에만 발생한다는 얘기도 있네요!)

암튼.. 해결 방법은!

data['column 이름'] = str(data['column 이름'])

전부 문자열인 string 타입으로 바꿔주어 해결하였습니다.

728x90
반응형

댓글