인코딩 코드 실행 에러
안녕하세요. 섹션5-27 강의 수강 중 입니다.
인코딩 파트의 가장 윗 부분 코드와 관련하여
y_train = train.pop("income")단독 실행 시 KeyError 에러가 발생합니다.
다만, 상단의 모두 실행으로 실행 시 정상 작동 됩니다.
에러 메시지에서도 '위의 예외는 다음 예외의 직접적인 원인이었습니다.' 라고만 표시되어 어떻게 조치를 취해야 하는지 감이 잘 오지 않습니다ㅠㅠ
+ 상단의 데이터 불러오기에서 데이터를 확인했을 때 income 컬럼이 있는 것 확인했습니다.
+ 바로 아래의 원핫인코딩 코드에 커서를 놓고 런타임-이전 셀 실행 으로 실행하니까 이때는 또 정상 작동을 하네요?
답변 2
0
KeyError 에러는 대부분 그 컬럼이 없어서 에러가 발생합니다.
y_train = train.pop("income")
를 이미 실행한 상황이라서 재실행하면 해당 컬림이 이미 삭제 되어 작업을 할 수가 없어 에러가 발생했습니다.
데이터를 다시 불러오거나
불러오는 코드를 전처리 위에 작상한 후 작업해 주세요
0
안녕하세요, 인프런 AI 인턴입니다. 초코님.
KeyError 발생 문제와 관련하여 도움을 드리겠습니다. 이 오류는 “income”이라는 컬럼이 데이터프레임에 존재하지 않을 때 발생하는 일반적인 에러입니다. 문제가 발생하는 이유와 해결 방법을 간단히 정리하였습니다:
- 데이터프레임 초기 상태 확인:
train데이터프레임에"income"컬럼이 처음부터 존재하는지 확인이 필요합니다.train데이터프레임의 컬럼을 출력하여"income"컬럼이 있는지 먼저 확인해 보세요.
print(train.columns)
코드 실행 순서:
- 코드의 실행 순서에 따라 데이터프레임에서
"income"컬럼이 제거된 상태가 될 수 있습니다. 특정 셀을 반복해서 실행하는 경우, 이미 컬럼이 제거된 상태에서 다시pop()메소드를 호출하면KeyError가 발생할 수 있습니다.
- 코드의 실행 순서에 따라 데이터프레임에서
데이터 재로딩:
- 전체 셀을 다시 실행해야 데이터프레임의 초기 상태가 복구되므로, 특히 연습 시 보통은 한번만 실행됩니다. 따라서,
train데이터를 다시 불러오거나 노트북을 재시작하여 데이터프레임을 초기화하는 방법도 있습니다.
- 전체 셀을 다시 실행해야 데이터프레임의 초기 상태가 복구되므로, 특히 연습 시 보통은 한번만 실행됩니다. 따라서,
아래의 링크들을 통해 비슷한 상황에 대한 해결 방안을 확인하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
11회 기출 유형(작업형1) 2번 정답
0
7
1
f1 score 질문
0
6
1
10회 작업형 2 인코딩 질의
0
6
1
53번 강의에서 갑자기 수업노트가 없어졌습니다.
0
10
2
28:19 roc_auc이유
0
15
2
수강연장문의
0
15
2
전체적인 머신러닝 순서
0
10
1
빅분기 실기 유형2질문
0
15
1
ID 전처리 이유
0
28
2
데이터제공
0
23
2
예시문제 작업형3 꼬리질문2번
0
15
1
데이터 개수를 구할 때, len과 value_counts 차이
0
19
2
작업형 2 제출방
0
19
2
인코딩 스케일링 순서
0
20
2
실제 시험에서도 공식을 문제에서 주는지
0
20
2
수강 연장 문의
0
17
2
작업형2 정리한 내용 확인 부탁드립니다 ㅜㅜ
0
21
1
14강 "" 사용 관련 질문
0
22
2
캐글 제출 점수
0
26
2
기출 마무리 방법
0
50
2
빅이시 작업형2 기초 - 케이스 1~3 관련 문의
0
33
6
데이터프레임 슬라이싱 인덱싱 질문2
0
29
2
단일표본검정, 샤피로검정, 윌콕슨검정
0
38
2
강의자료 다운로드 여부
0
39
2





