Encoders require their input argument must be uniformly strings or numbers. Got ['int', 'str'] 라는 오류가 떴습니다.
173
작성한 질문수 31
보니깐 int와 str이 혼합되어서 뜬것 같은데..
cols = X_train.select_dtypes(include = 'object').columns print(list) from sklearn.preprocessing import LabelEncoder cols = X_train.select_dtypes(include = 'object').columns le = LabelEncoder() for col in cols : le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col])
그래서 이렇게 cols라는 코드를 사전에 지정해줬는데... 왜 뜰까요?
처음부터 숫자와 str 데이터를 분리해서 인코딩 했어야 할까요?
답변 3
0
print(cols)는
class 'list'> Index(['workclass', 'education', 'marital.status', 'occupation', 'relationship', 'race', 'sex', 'native.country'], dtype='object')
이렇게 나왔구요.
X_train.head()는 아래와 같습니다..

0
어떤 데이터에서 이런상황이 나왔을까요?
X_trrain.head()와 cols를 print()해서 보여주실 수 있을까요?
0
print(cols)는
class 'list'> Index(['workclass', 'education', 'marital.status', 'occupation', 'relationship', 'race', 'sex', 'native.country'], dtype='object')
이렇게 나왔구요.
X_train.head()는 아래와 같습니다..

답글 달기
수정
삭제
0
큰 문제 없어보이는데 다시 실행해도 에러가 나올까요?
만약 시험에서 이런 상황이라면 컬럼 1개씩 인코딩하고
에러가 나는 컬럼은 제거하거나 아래와같이 str로 변환하겠습니다.
X_train[col] = X_train[col].astype(str)
X_test[col] = X_test[col].astype(str)
0
안녕하세요, 인프런 AI 인턴입니다. 김치현님, 질문 주셔서 감사합니다.
현재 겪고 계신 TypeError: Encoders require their input argument must be uniformly strings or numbers. Got [‘int’, ‘str’] 오류는 데이터의 컬럼에 서로 다른 타입(int와 str)이 혼합되어 있을 때 발생합니다. LabelEncoder는 입력 값들이 모두 문자열이거나 모두 숫자여야 합니다.
문제를 해결하기 위해서는 다음과 같은 방법을 사용할 수 있습니다:
- 데이터 타입 확인 및 변환: 먼저, 데이터를 전처리하여
object타입 컬럼 중에서 int나 float로 변환할 수 있는 것은 미리 변환합니다. 예를 들어, 특정 열이 사실 숫자를 나타낸다면astype(int)혹은astype(float)로 변환하시기 바랍니다.
for col in cols:
if X_train[col].apply(lambda x: isinstance(x, (int, float))).all():
X_train[col] = X_train[col].astype(str)
X_test[col] = X_test[col].astype(str)
NaN 처리: 결측치는 encoding 시 문제가 될 수 있으므로
fillna()를 사용해 NaN 값을 다른 값으로 대체합니다.데이터 타입 확인:
select_dtypes()사용 후 실제로 선택된 컬럼이 의도한 컬럼인지를 출력하여 확인해봅니다.스칼라 사용 고려: 데이터가 비슷한 형태라도 완전히 일치하지 않는 경우가 많아
LabelEncoder대신pd.get_dummies()를 사용하여 가변수화(dummy variable) 해볼 수 있습니다.
위 방법을 사용하여 데이터의 타입을 맞춰주시면 오류를 해결할 수 있을 것입니다. 추가적인 사항이나 개선이 필요하다면 더 문의하세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
작업형 1 유형 부분
0
9
1
작업형 1 (삭제예정, 구 버전)
0
28
2
수강기간 연장 문의드립니다.
0
21
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
23
3
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
27
2
질문 드립니다.
0
45
2
강의 내용 관련 질문드립니다~
0
43
2
수강 연장 문의
0
54
2
강의자료 일괄 다운로드
0
50
2
수강기간 연장 문의드립니다
0
40
2
list 문제 질문드립니다~
0
35
2
빅분기 실기 12회 재도전
0
53
2
강의 기간 연장 가능여부 검토 요청건
0
39
2
수강기간 연장 문의 드립니다
0
43
2
수강기간 연장 문의드립니다
0
50
2
질문이요
0
56
2
수강기간 연장 문의드립니다.
0
58
2
문제 3-2 질문드립니다
0
47
2
수강기간 연장 문의 드립니다.
0
61
2
변수, 칼럼 , df 구분
0
51
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의
0
49
2
수강기간 연장 문의드립니다.
0
42
2





