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

김치현님의 프로필 이미지
김치현

작성한 질문수

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

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

원핫인코딩

해결된 질문

작성

·

20

0

exam1 = pd.get_dummies(exam1, columns=['race'], drop_first=True)

 

exam1 = pd.get_dummies(exam1['race'], drop_first=True)

 

랑 차이가 있나요?

답변 2

0

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

어디서 이런 방법을 보셨을까요?

저도 첫번째 방법은 사용해보지 못했네요. AI 답변 참고 부탁드립니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김치현님.

pd.get_dummies 함수의 사용 방법에 대해 설명드리겠습니다. 두 코드의 차이는 다음과 같습니다:

  1. exam1 = pd.get_dummies(exam1, columns=['race'], drop_first=True):

    • 이 코드는 전체 exam1 데이터프레임에서 ‘race’ 컬럼을 원핫 인코딩합니다. 결과적으로, 원핫 인코딩된 컬럼이 기존의 exam1 데이터프레임 내에 추가되고, 다른 기존의 컬럼들도 유지됩니다. 또한, drop_first=True 옵션을 사용하여 첫 번째 카테고리를 떨어트려 다중공선성을 피합니다. 즉, n개의 서로 다른 카테고리가 있을 때, n-1개의 새로운 컬럼을 만들어줍니다.
  2. exam1 = pd.get_dummies(exam1['race'], drop_first=True):

    • 이 코드는 ‘race’ 컬럼만을 원핫 인코딩하여 반환하며, 이 결과는 인코딩된 ‘race’ 컬럼 데이터만을 포함한 새로운 데이터프레임이 됩니다. 원래 exam1의 다른 컬럼들은 포함되지 않습니다. drop_first=True로 인해, 역시 n-1개의 컬럼을 생성합니다.

따라서, 두 코드의 주요 차이점은 결과 데이터프레임의 구성에 있습니다. 첫 번째 코드는 원래의 모든 컬럼이 포함된 데이터프레임을 유지하면서 인코딩을 수행하고, 두 번째 코드는 특정 컬럼에 대한 인코딩 결과만 제공합니다.

아래의 질답에서 유사한 논의가 이루어졌으니 참고해 주시기 바랍니다:

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

김치현님의 프로필 이미지
김치현

작성한 질문수

질문하기