인프런 커뮤니티 질문&답변
작업형 2 강의 질문
해결된 질문
작성
·
19
0
y_train = train.pop("income")
선생님 따라서 이렇게 했는데 저는 밑처럼 오류가 나오더라구요ㅠ
원인이 무엇일까요
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/usr/local/lib/python3.12/dist-packages/pandas/core/indexes/base.py in get_loc(self, key)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
3806 except KeyError as err:
index.pyx in pandas._libs.index.IndexEngine.get_loc()
index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'income'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
4 frames
/usr/local/lib/python3.12/dist-packages/pandas/core/indexes/base.py in get_loc(self, key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
KeyError: 'income'
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 합격님.
KeyError: 'income' 오류는 “income”이라는 컬럼이 실제 데이터프레임에 존재하지 않을 때 나타나는 일반적인 오류입니다. 이 오류를 해결하기 위해서는 다음 사항들을 확인해 보시는 것이 좋습니다:
컬럼명 확인:
- 데이터프레임
train에서 컬럼명이 정확히 “income”인지 확인하세요. 대소문자나 공백 등의 오타가 발생하지 않았는지 데이터프레임의 컬럼명을 출력하여 확인해 보는 것이 좋습니다. 아래 코드를 이용해 컬럼을 출력해 보세요.
print(train.columns)
- 데이터프레임
데이터프레임 상태 확인:
- 데이터가 예상대로 로드되었는지 확인합니다.
train데이터프레임을 처음 로드한 순서를 확인해 보세요. 데이터셋 로드 시 경로나 파일명 등이 잘못되면 데이터가 잘못 배치될 수 있습니다.
- 데이터가 예상대로 로드되었는지 확인합니다.
이전 코드 확인:
train데이터프레임을 다루는 이전 코드에서 “income” 컬럼을 삭제하거나, 다른 형태로 재정의한 적이 있는지 확인하세요.pop()또는drop()메소드를 사용하거나 데이터프레임을 다른 변형으로 덮어쓴 경우가 있을 수 있습니다.
아래 유사한 질문과 함께 제공된 답변을 참고하시면 도움이 될 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리는 중입니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





