강의

멘토링

커뮤니티

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

합격님의 프로필 이미지
합격

작성한 질문수

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

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

원핫인코딩 후

해결된 질문

작성

·

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과 1이 아닌 불린(True와 Fasle)로 출력됩니다.:)

연산했을 때는 True는 1, False는 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에 대해 여러 지식공유자가 해결방법을 제시한 바 있습니다. 이 링크에서는 또 다른 사용자들이 마주한 비슷한 문제에 대한 해결 방법과 추가적인 정보를 볼 수 있습니다.

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

합격님의 프로필 이미지
합격

작성한 질문수

질문하기