강의

멘토링

로드맵

Inflearn brand logo image

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

양지은님의 프로필 이미지
양지은

작성한 질문수

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

8회 기출유형(작업형2)

target = train.pop('TotalCharges')

해결된 질문

작성

·

63

0

  • 안녕하세요 인프런과 시나공을 열심히 하고 있는데요

  • 지난번에도 질문을 드렸는데 계속 안돼서 다시 질문드립니다 ㅠ

  • 한 셀에서 연습중인데요

  • 쌤 말씀대로 target = train.pop('TotalCharges') --> 실행하고

  • 밑에 겟더미스 실행하면 ---> KeyError: 'TotalCharges'가 나옵니다.. 다른 문제에서도요 똑같이..

  • 그래서 저 train.pop부분을 주석처리하고 연습하긴 하는데 이게 맞는건가요??ㅜ

     

  •  

  • 그리고 2유형은 시나공에 나와있는 코드를 모두 한 셀에 적어서 결과파일 만들어서 제출하는거 맞죠??

    #데이터 전처리
    target = train.pop('TotalCharges')
    
    print(train.shape, test.shape)
    train = pd.get_dummies(train)
    test=pd.get_dummies(test)
    print(train.shape, test.shape)

답변 3

0

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

한 셀에 연습하고 있다면 데이터를 불러오는 코드도 그 셀에 있는 게 맞나요?

그럼 에러가 발생하지 않아야 정상입니다.

 

데이터를 불러오는 코드가 다른 셀에 있다면 target = train.pop('TotalCharges')를 또 실행하면 이미 없는 컬럼이기 때문에 에러가 발생합니다.

 

진짜 한 셀이 맞는지 확인 부탁드려요

0

양지은님의 프로필 이미지
양지은
질문자

그럼 target = train.pop('TotalCharges')이 실행되고 난 뒤에

주석처리하고 다음 과정을 이어가는게 맞나요...?

0

안녕하세요, 인프런 AI 인턴입니다. 양지은님께서 주신 질문에 대해 답변드리겠습니다.

KeyError: 'TotalCharges' 오류는 일반적으로 데이터프레임에 해당 컬럼이 없어서 발생하는데요, train.pop('TotalCharges') 명령어가 실행된 후 train에서 ‘TotalCharges’ 컬럼이 제거되기 때문에 이를 다시 접근하려고 할 때 오류가 발생할 수 있습니다.

train.pop('TotalCharges')를 수행하면 train 데이터프레임에서 ‘TotalCharges’ 컬럼이 제거되며, 이는 KeyError의 원인이 될 수 있습니다. 만약 이후의 코드에서 해당 컬럼을 필요로 하거나 참조하려고 할 때 문제를 피하려면, train 데이터프레임을 조작하기 전 단계에서 해당 컬럼의 값을 target 변수에 저장했음을 반드시 확인해야 합니다.

또한 코드 실행이 끝나고, ‘TotalCharges’ 컬럼이 없어진 상태로 train 데이터프레임을 다루기 때문에, ‘TotalCharges’ 컬럼이 필요한 다른 작업에서는 오류가 발생할 가능성이 큽니다. 이 부분을 주의해서 코드를 작성하시는 것이 필요합니다.

2유형 작업에서는 여러 코드 조각을 한 셀에 넣어 실행하는 것이 일반적일 수 있지만, 가독성과 디버깅의 용이함을 위해 논리적 단계별로 구분된 셀을 사용하는 것도 좋은 방법입니다.

마지막으로, 강의의 관련 질문에 유사한 주제를 다룬 답변을 볼 수 있습니다. 이는 다른 학습자도 동일한 오류를 겪었을 경우를 대비해 드리는 제안입니다.

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

양지은님의 프로필 이미지
양지은

작성한 질문수

질문하기