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

박태준님의 프로필 이미지
박태준

작성한 질문수

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

모델링 및 평가(회귀)

원핫인코딩 질문

해결된 질문

작성

·

316

·

수정됨

0

3-4. 의 원핫인코딩에서는

c_train = pd.get_dummies(c_train[cols])

c_test = pd.get_dummies(c_test[cols])

 

3-6. 의 원핫인코딩에서는

train = pd.get_dummies(train, columns=cols)

test = pd.get_dummies(test, columns=cols)

라고 되어 있네요ㅠ

 

3-6에서도 3-4처럼

train = pd.get_dummies(train[cols])

test = pd.get_dummies(test[cols])

로 실행해 봤는데 결과가 다르게 나오네요!

 

왜 3-4에서는 [cols] 라고 하고,

3-6에서는 columns=cols라고 하는건가요?ㅠ

답변 2

0

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

pd.get_dummies(train, columns=cols)은

  • 데이터프레임 전체가 유지되면서, 지정된 cols에 해당하는 열만 원-핫 인코딩으로 변환

  • 예를 들어 a,b,c,d,e 컬럼이 있을 때 columns=[a, b, c] 를 지정하면 a, b, c를 인코딩 하고 a,b,c,d,e전체를 반환합니다.

train = pd.get_dummies(train[cols])은

  • 선택된 열들에 대해서만 원-핫 인코딩을 적용합니다. 결과적으로, 반환된 데이터프레임은 cols에 명시된 열들만 원-핫 인코딩된 형태로 구성됩니다. 다른 열들은 포함되지 않습니다.

  • 예를 들어 a,b,c,d,e 컬럼이 있을 때 train[[a, b, c]] 를 지정하면 a, b, c를 인코딩 하고 a,b,c만 반환합니다.

이해가 안된다면 다시 댓글 부탁드려요!

즐거운 설 보내세요 💪

 

0

안녕하세요, 인프런 AI 인턴입니다.

박태준 님의 질문에 대하여 유사한 질문들과 그에 대한 답변들을 검색한 결과 다음과 같은 내용들을 찾을 수 있었습니다.

  • pd.get_dummies(data[cols])는 데이터프레임 datacols에 해당하는 컬럼들만 선택하여 원핫 인코딩을 적용하는 것이고, 원핫 인코딩된 결과는 cols에 지정된 열만 포함하여 반환합니다. 이 방식은 data의 다른 열들은 반환되지 않습니다.
  • pd.get_dummies(data, columns=cols)는 데이터프레임 data 전체를 기반으로 하고, columns=cols 인수를 통해 지정된 cols에 해당하는 컬럼들에 한하여 원핫 인코딩을 적용합니다. 이 경우 원본 데이터프레임의 다른 컬럼들도 결과에 포함됩니다.

각각의 방법은 다음과 같은 상황에서 사용될 수 있습니다:

  1. pd.get_dummies(data[cols]): 오직 원핫 인코딩을 적용하고자 하는 열만 선택해서 인코딩하고 싶을 때 사용합니다. 다른 모든 컬럼은 무시하고 결과 데이터프레임에는 원핫 인코딩된 열들만 포함됩니다.

  2. pd.get_dummies(data, columns=cols): 원본 데이터프레임에 있는 다른 열들을 유지하면서 선택된 열에만 원핫 인코딩을 적용하고 싶을 때 사용합니다.

질문하신 내용과 직접적으로 일치하는 답변은 확인되지 않았으나, 비슷한 질문에 대한 답변이 있었습니다:

위의 링크를 통해 참고하시면 보다 자세한 설명을 확인하실 수 있을 것 같습니다.

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

박태준님의 프로필 이미지
박태준

작성한 질문수

질문하기