인프런 커뮤니티 질문&답변
원핫인코딩 후
해결된 질문
작성
·
23
0
1.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6665 entries, 0 to 6664
Data columns (total 30 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 ID 6665 non-null int64
1 Age 6665 non-null int64
2 Work_Experience 6665 non-null float64
3 Family_Size 6665 non-null float64
4 Segmentation 6665 non-null int64
5 Gender_Female 6665 non-null bool
6 Gender_Male 6665 non-null bool
7 Ever_Married_No 6665 non-null bool
8 Ever_Married_Yes 6665 non-null bool
9 Graduated_No 6665 non-null bool
10 Graduated_Yes 6665 non-null bool
11 Profession_Artist 6665 non-null bool
12 Profession_Doctor 6665 non-null bool
13 Profession_Engineer 6665 non-null bool
14 Profession_Entertainment 6665 non-null bool
15 Profession_Executive 6665 non-null bool
16 Profession_Healthcare 6665 non-null bool
17 Profession_Homemaker 6665 non-null bool
18 Profession_Lawyer 6665 non-null bool
19 Profession_Marketing 6665 non-null bool
20 Spending_Score_Average 6665 non-null bool
21 Spending_Score_High 6665 non-null bool
22 Spending_Score_Low 6665 non-null bool
23 Var_1_Cat_1 6665 non-null bool
24 Var_1_Cat_2 6665 non-null bool
25 Var_1_Cat_3 6665 non-null bool
26 Var_1_Cat_4 6665 non-null bool
27 Var_1_Cat_5 6665 non-null bool
28 Var_1_Cat_6 6665 non-null bool
29 Var_1_Cat_7 6665 non-null bool
dtypes: bool(25), float64(2), int64(3)
원핫인코딩을 실행했는데
저는 왜 bool값으로 나오죠?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 합격님이 원핫 인코딩을 했을 때 데이터의 값이 0과 1 대신에 True와 False로 나타나는 현상의 원인과 해결책에 대해 설명해 드리겠습니다.
Why are you getting bool types?
Pandas에서 원핫 인코딩(pd.get_dummies())을 수행할 때, 결과가 True와 False 형태로 나타나는 것은 Pandas가 버전 업데이트 이후에 boolean 형태로 값을 반환하는 설정 때문입니다. 이 과정에서 True는 1로, False는 0으로 간주되어 숫자형 데이터처럼 사용할 수 있습니다. 그러므로 데이터 처리나 모델 학습에 있어 전혀 문제 없이 사용하실 수 있습니다.
Solution to convert bool to int
원핫 인코딩 결과에서 True/False가 아닌 0과 1로 작업을 이어가고 싶으시다면, 다음과 같은 방법으로 데이터 타입을 int로 변환하여 사용하실 수 있습니다:
df = pd.get_dummies(df, dtype=int)
or 변환 후 명시적으로 astype(int)를 사용하여 변경할 수 있습니다:
df = pd.get_dummies(df).astype(int)
이렇게 하면 인코딩된 컬럼들이 int 타입으로 바뀌면서 0과 1로 나타나게 됩니다.
답변 참고 링크
비슷한 질문이 여러 번 있었으며, 관련해서 특히 원핫인코딩 출력값 True, False에 대해 여러 지식공유자가 해결방법을 제시한 바 있습니다. 이 링크에서는 또 다른 사용자들이 마주한 비슷한 문제에 대한 해결 방법과 추가적인 정보를 볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





