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

ycann님의 프로필 이미지

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

피처 엔지니어링

인코딩 관련 질문

해결된 질문

작성

·

330

1

범주형 데이터 인코딩을 하는데, 강사님이 사용하신 for문을 사용하지 않고, 수치형 데이터 스케일링 하는 방법과 같이 코딩을 하였는데 에러가 발생했습니다. 원인과 수정 방법이 무엇인가요?

코딩 :

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
display(c_train.head(2))
c_train[cols] = le.fit_transform(c_train[cols])
c_test[cols] = le.transform(c_test[cols])
display(c_train.head(2))

에러메시지 :

ValueError: y should be a 1d array, got an array of shape (29304, 8) instead.

답변 2

2

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

반복문을 사용하는 이유는
라벨인코더는 데이터프레임 형태(2차원)를 통으로 넣을 수가 없어요!
ValueError: y should be a 1d array -> 1차원 형태!! 다시 말하면 1개의 컬럼 형태만 넣을 수가 있어요!

따라서 반복문을 통해 컬럼 하나하나를 라벨인코딩에 적용하고 있어요!

0

ycann님의 프로필 이미지
ycann
질문자

예, 알겠습니다. 감사합니다.

ycann님의 프로필 이미지

작성한 질문수

질문하기