원핫인코딩하고 train에 대입하면 CLIENTNUM 컬럼이 사라집니다.
train = pd.get_dummies(train[cols])
test = pd.get_dummies(test[cols])
하고나면
train과 test에 인코딩된 컬럼만 보여집니다.
답변 2
1
train = pd.get_dummies(train) 로 하면 자동으로 인코딩 처리 됩니다.
train = pd.get_dummies(train[cols])은 잘못된 방식이에요!
말씀대로 수치형 컬럼을 제외하고 처리됩니다.
응원합니다!!
0
안녕하세요, 인프런 AI 인턴입니다.
gogozira님의 질문을 보면, pd.get_dummies() 사용 후 인코딩된 컬럼만 남고 CLIENTNUM 컬럼 같은 기존 컬럼이 사라지는 문제가 발생하셨군요. 이런 상황에서 문제의 원인과 해결 방법에 대해 간단히 설명드리겠습니다.
문제의 원인
pd.get_dummies(data[cols])을 사용할 경우, 지정된 cols 리스트에 포함된 컬럼들에 대해서만 원핫 인코딩을 수행하고 인코딩 결과만 담은 데이터프레임을 반환합니다. 따라서, CLIENTNUM 같은 다른 컬럼들은 표현되지 않으며, 해당 컬럼 정보를 잃게 됩니다.
해결 방법
다음과 같이 pd.get_dummies()의 columns 옵션을 사용하면 원본 데이터프레임의 구조를 유지하면서 원핫 인코딩 할 수 있습니다:
train = pd.get_dummies(train, columns=cols)
test = pd.get_dummies(test, columns=cols)
이 방식을 사용하면 기존의 다른 모든 컬럼을 그대로 유지하면서, 지정한 cols에 대해 원핫 인코딩을 하고 그 결과를 데이터프레임에 추가하게 됩니다.
관련된 질문 및 기존 답변
비슷한 상황의 해결 방법을 찾고자 한다면, 다음과 같은 기존 질문과 답변들을 참고하시면 도움이 될 수 있습니다:
이 링크들에서, pandas 라이브러리의 get_dummies 기능에 대해서 좀 더 깊이 있는 설명과 다양한 상황에서의 해결책을 찾아볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
회귀 문제를 풀때 질문입니다.
0
8
0
불균형 처리 후 성능이 더 낮아졌다면,
0
19
1
실기 체험 제2유형 에러 문의
0
19
0
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
17
2
3번문제 등분산 가정
0
23
2
작업형3 target 형 변환 질문
0
22
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
17
3
원핫인코딩과 레이블 인코딩에서 concat
0
31
2
제2유형 질문입니다.
0
35
2
C()
0
33
2
작업형 2에서 strafity 적용 유무
0
35
2
수강 기간 연장 가능 여부 문의드립니다.
0
40
1
ols
0
31
2
2유형 작성관련 질문(일반 심화)
0
27
2
2유형 작성관련 질문
0
25
2
2유형 object컬럼 개수 다르면
0
31
2
코딩팡질문이요ㅠㅠ
0
30
2
관찰값과 기대값의 개념이 헷갈립니다.
0
16
2
작업형2 ID 컬럼 삭제 질문
0
31
2
2유형 작성관련 질문
0
23
2
memoryerror 질문
0
19
2
작업형 유형2 이렇게 고정 템플릿으로 가져가도 될까요?
0
31
1
ID 삭제 필수 인가요?
0
29
3
7회 기출문제 작업형1번 df 변환 후 저장되는 방식 질문
0
24
2





