inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

피처 엔지니어링

LabelEncoder를 실행하면 'ValueError: y should be a 1d array, got an array of shape (1818, 10) instead.라는 error가 발생합니다.

해결된 질문

923

Kyewon(은서.후.채)

작성한 질문수 3

0

안녕하세요?

아래와 같이 LabelEncoder를 실행하면

'ValueError: y should be a 1d array, got an array of shape (1818, 10) instead.라는 error가 발생합니다. '

왜 그럴까요? df2라는 데이터프레임에서 object인 column만 선택해서 똑같이 했습니다. 어떻게 해야 하는지 알려주시면 대단히 감사하겠습니다.

 

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 3

1

Kyewon(은서.후.채)

감사합니다. 이제사 잘못 쓴 코드 부분이 보이네요.

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

Kyewon(은서.후.채)님, LabelEncoder 사용 시 발생하는 에러는 LabelEncoder가 각 특정 열(column)의 데이터를 레이블 인코딩할 때 그 열이 1차원 배열로 제공되어야 하는데, 대신 2차원 배열(즉, 여러 열이 함께 제공됨)이 주어졌을 때 일어납니다.

아래의 코드 부분에서 문제가 발생한 것으로 보입니다:

for col in [cols]:
    df2[col]=le.fit_transform(df2[col])

위 코드에서 for col in [cols]: 부분이 문제의 원인입니다. 이렇게 작성할 경우, cols 리스트 전체를 하나의 원소로 가지는 새로운 리스트를 만들어 반복하게 됩니다. 에러 메시지에 나타나는 것처럼 cols 리스트에 있는 모든 열을 한 번에 인코딩하려고 하기 때문에 문제가 발생합니다.

해결 방법은 매우 간단합니다. for 반복문을 적절하게 사용하여 각 열을 개별적으로 인코딩하도록 수정해야 합니다. 아래와 같이 수정하면 됩니다:

le = LabelEncoder()
for col in cols:
    df2[col] = le.fit_transform(df2[col])

여기서 cols는 변환하고자 하는 열의 이름 목록을 포함하며, for col in cols: 반복문은 이 목록의 각 열에 대해 LabelEncoder를 적용합니다.

제가 참고한 답변 링크는 다음과 같습니다:
- 작업형 2번 라벨인코딩 질문
- 작업형2 모의문제2 라벨인코딩 과정 중 에러

질문자님께서는 열을 개별적으로 라벨 인코딩할 때 for 반복문을 올바르게 사용하여 각 열을 차례대로 변환하시면 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

퇴근후딴짓

답을 찾으셨군요!!

그래도 혹시 모르니 피드백을 드리면

흔히 하는 실수 중 하나입니다. 사이킷런의 레이블 인코딩에서 입력값은

시리즈가 아닌 데이터프레임 형태여야 합니다.

df에서 1개의 컬럼을 선택할 때 df['컬럼명']로 사용하면 시리즈형태입니다.

이를 데이터프레임으로 사용할 때는 여러가지 방법이 있지만 가장 쉬운 방법은 df[['컬럼명']]입니다.

대괄호가 두개라서 헷갈릴 수 있지만 아래와 같은 코드입니다.

cols = ['컬럼명']
df[cols]

 

작업형2 모의문제1 (30강)

0

17

1

수강 기간 연장 문의 드립니다.

0

17

1

수강 계획과 관련해 문의 드립니다.

0

19

1

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

41

2

작업형 1 -연습문제 4-6

0

30

2

작업형 1 유형 부분

0

38

2

작업형 1 (삭제예정, 구 버전)

0

49

2

수강기간 연장 문의드립니다.

0

34

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

35

3

수강기간 연장 문의드립니다.

0

37

1

인덱스 슬라이싱

0

34

2

질문 드립니다.

0

48

2

강의 내용 관련 질문드립니다~

0

45

2

수강 연장 문의

0

63

2

강의자료 일괄 다운로드

0

58

2

수강기간 연장 문의드립니다

0

47

2

list 문제 질문드립니다~

0

36

2

빅분기 실기 12회 재도전

0

62

2

강의 기간 연장 가능여부 검토 요청건

0

49

2

수강기간 연장 문의 드립니다

0

44

2

수강기간 연장 문의드립니다

0

52

2

질문이요

0

57

2

수강기간 연장 문의드립니다.

0

60

2

문제 3-2 질문드립니다

0

47

2